2015-03-02 177 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" 

告訴我,如果它幫助。