我已经搜索了所有的文档,但似乎找不到一个使用CTEST_CUSTOM_PRE_TEST的示例。基本上我需要在测试运行之前在服务器上启动并运行一些命令。所以我需要添加一些预测试步骤。CTEST_CUSTOM_PRE_TEST的语法是什么?
CTEST_CUSTOM_PRE_TEST
CTEST_CUSTOM_PRE_TEST( ??? what to put here ??? ) ADD_TEST(MyTest MyTestCommand)
s4n0splo1#
CTEST_CUSTOM_PRE_TEST是在运行ctest Jmeter 板的上下文中使用的变量。它应该直接在ctest-S脚本本身中设置,或者在构建树顶部的CTestCustom.cmake文件中设置。在任一文件中,示例值可能是:
set(CTEST_CUSTOM_PRE_TEST "perl prepareForTesting.pl -with-this -and-that")
它应该是一个单独的命令行,格式正确,以便在您所使用的系统上运行。它在所有测试运行之前,在ctest_test调用期间运行一次。同样,还有一个CTEST_CUSTOM_POST_TEST变量,它也应该是一个单独的命令行,但在所有测试完成之后运行。用空格、引号和反斜杠引用和转义参数可能很有挑战性……但也许你也不需要这样做。我不知道一个真实的世界的例子,我可以指出你,但我可以阅读ctest源代码…;- )
gwbalxhn2#
将set(CTEST_CUSTOM_PRE_TEST ..放在一个文件中,在执行cmake时,该文件被复制到${CMAKE_BINARY_DIR}/CTestCustom.cmake。有关详细信息,请参阅https://stackoverflow.com/a/37748933/1017348。
set(CTEST_CUSTOM_PRE_TEST ..
${CMAKE_BINARY_DIR}/CTestCustom.cmake
lndjwyie3#
在headless Linux上的OpenSCAD中,我们尝试在ctest运行之前启动虚拟帧缓冲区。但是我们不使用PRE_TEST。我们在cmake运行期间在build目录中构建自己的CTestCustom.cmake。(我们确实使用POST_TEST,但是有几个最近版本的CMake在POST_TEST中被破坏)。你可以在这里找到代码https://github.com/openscad/openscad/blob/master/tests
ctest
PRE_TEST
cmake
CTestCustom.cmake
POST_TEST
3条答案
按热度按时间s4n0splo1#
CTEST_CUSTOM_PRE_TEST是在运行ctest Jmeter 板的上下文中使用的变量。它应该直接在ctest-S脚本本身中设置,或者在构建树顶部的CTestCustom.cmake文件中设置。
在任一文件中,示例值可能是:
它应该是一个单独的命令行,格式正确,以便在您所使用的系统上运行。它在所有测试运行之前,在ctest_test调用期间运行一次。同样,还有一个CTEST_CUSTOM_POST_TEST变量,它也应该是一个单独的命令行,但在所有测试完成之后运行。
用空格、引号和反斜杠引用和转义参数可能很有挑战性……但也许你也不需要这样做。
我不知道一个真实的世界的例子,我可以指出你,但我可以阅读ctest源代码…;- )
gwbalxhn2#
将
set(CTEST_CUSTOM_PRE_TEST ..
放在一个文件中,在执行cmake时,该文件被复制到${CMAKE_BINARY_DIR}/CTestCustom.cmake
。有关详细信息,请参阅https://stackoverflow.com/a/37748933/1017348。lndjwyie3#
在headless Linux上的OpenSCAD中,我们尝试在
ctest
运行之前启动虚拟帧缓冲区。但是我们不使用PRE_TEST
。我们在cmake
运行期间在build目录中构建自己的CTestCustom.cmake
。(我们确实使用POST_TEST
,但是有几个最近版本的CMake在POST_TEST
中被破坏)。你可以在这里找到代码https://github.com/openscad/openscad/blob/master/tests