2015-03-02 75 views
5

我正在使用CTest并希望在运行时将命令行参数传递到基础测试。我知道有办法将命令行参数硬编码到CMake/CTest脚本中,但我想在运行时指定命令行参数,并将这些参数通过CTest传递到底层测试。如何在运行时在CTest中传递命令行参数

这甚至可能吗?

+0

你最终找到了解决方案吗? – simon 2017-04-19 16:13:52

+1

@simon不,我没有 – jlconlin 2017-04-19 16:42:10

回答

0

我不确定我完全理解你想要什么,但我仍然可以给你一个方法来在运行时将参数传递给CTest中的测试。

我给你举个例子,用CTK(通用工具包,https://github.com/commontk/CTK):

在build目录(例如:CTK-构建/ CTK-建设,这是一个superbuild),如果我运行: ( '-V' 的冗长, '-N' 只观看模式)

ctest -R ctkVTKDataSetArrayComboBoxTest1 -V -N 

我得到:

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 

你可以在你的终端复制 - 粘贴 “命令测试”:

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

并添加参数,比如 “-I” 互动测试:

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

告诉我,如果它帮助。