如何使用CMake和CTest提供参数?

时间:2009-08-28 06:08:46

标签: testing build-process automated-tests cmake ctest

在我想使用CTest运行的测试中,我应该使用以下命令添加我想要运行的测试:

add_test(TestName ExeName)

问题是,如果我想为TestName提供一个参数,我该把它放在哪里? 在这种情况下,如何在unix命令行中单独运行ctest而不使用cmake?

2 个答案:

答案 0 :(得分:2)

在CMakeLists.txt文件中插入以下命令:

ENABLE_TESTING()

接下来添加测试:

add_test(testname Executable args)

要确定可用的测试,您始终可以运行:

ctest -N

指定测试的第二种方法是使用显式测试编号选项-I:

ctest -I 3

将运行测试编号3。

答案 1 :(得分:2)

在可执行文件名之后传递参数,就像在命令行中一样。

enable_testing()

add_test(FirstTest app.exe 100)
add_test(SecondTest app.exe 200)
add_test(ThirdTest app.exe 300)

测试可以基于"索引"使用-I选项进行测试。

ctest -I 2,3

也可以使用-R选项基于测试名称运行特定测试。

ctest -R "Second"