2015-03-02 13 views
5

Tôi đang sử dụng CTest và muốn chuyển đối số dòng lệnh cho các thử nghiệm cơ bản trong thời gian chạy. Tôi biết có nhiều cách để mã hóa các đối số dòng lệnh cứng thành kịch bản lệnh CMake/CTest, nhưng tôi muốn chỉ định các đối số dòng lệnh khi chạy và có các đối số đó được chuyển qua CTest đến bài kiểm tra cơ bản.Cách chuyển đối số dòng lệnh trong CTest tại thời gian chạy

Điều này có thể thực hiện được không?

+0

Bạn đã tìm ra giải pháp chưa? – simon

+1

@simon Không, tôi đã không – jlconlin

Trả lời

0

Tôi không chắc tôi hoàn toàn hiểu những gì bạn muốn, nhưng tôi vẫn có thể cung cấp cho bạn một cách để vượt qua đối số để kiểm tra trong CTest, lúc chạy.

tôi sẽ cung cấp cho bạn một ví dụ, với CTK (Toolkit Common, https://github.com/commontk/CTK):

Trong xây dựng dir (ví dụ: CTK-build/CTK-xây dựng, đó là một superbuild), nếu tôi chạy: ('-V' cho Verbose, và '-N' cho chỉ xem Chế độ)

ctest -R ctkVTKDataSetArrayComboBoxTest1 -V -N 

tôi nhận được:

UpdateCTestConfiguration from : /CTK-build/CTK-build/DartConfiguration.tcl 
Parse Config file:/CTK-build/CTK-build/DartConfiguration.tcl 
Add coverage exclude regular expressions. 
Add coverage exclude: /CMakeFiles/CMakeTmp/ 
Add coverage exclude: .*/moc_.* 
Add coverage exclude: .*/ui_.* 
Add coverage exclude: .*/Testing/.* 
Add coverage exclude: .*/CMakeExternals/.* 
Add coverage exclude: ./ctkPixmapIconEngine.* 
Add coverage exclude: ./ctkIconEngine.* 
UpdateCTestConfiguration from :/CTK-build/CTK-build/DartConfiguration.tcl 
Parse Config file:/CTK-build/CTK-build/DartConfiguration.tcl 
Test project /CTK-build/CTK-build 
Constructing a list of tests 
Done constructing a list of tests 

178: Test command: /CTK-build/CTK-build/bin/CTKVisualizationVTKWidgetsCppTests "ctkVTKDataSetArrayComboBoxTest1" 
Labels: CTKVisualizationVTKWidgets 
    Test #178: ctkVTKDataSetArrayComboBoxTest1 

Total Tests: 1 

bạn có thể sao chép-dán "Test lệnh" trong terminal của bạn:

/CTK-build/CTK-build/bin/CTKVisualizationVTKWidgetsCppTests "ctkVTKDataSetArrayComboBoxTest1" 

Và thêm các đối số, ví dụ như "-I" để thử nghiệm tương tác:

/CTK-build/CTK-build/bin/CTKVisualizationVTKWidgetsCppTests "ctkVTKDataSetArrayComboBoxTest1" "-I" 

Nói cho tôi biết nếu nó giúp.

Các vấn đề liên quan