cmake 如何使用CTEST_CUSTOM_PRE_TEST?

bpsygsoo  于 2023-03-30  发布在  其他
关注(0)|答案(3)|浏览(121)

我已经搜索了所有的文档,但似乎找不到一个使用CTEST_CUSTOM_PRE_TEST的示例。
基本上我需要在测试运行之前在服务器上启动并运行一些命令。所以我需要添加一些预测试步骤。CTEST_CUSTOM_PRE_TEST的语法是什么?

CTEST_CUSTOM_PRE_TEST( ??? what to put here ??? )
ADD_TEST(MyTest MyTestCommand)
s4n0splo

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源代码…;- )

gwbalxhn

gwbalxhn2#

set(CTEST_CUSTOM_PRE_TEST ..放在一个文件中,在执行cmake时,该文件被复制到${CMAKE_BINARY_DIR}/CTestCustom.cmake。有关详细信息,请参阅https://stackoverflow.com/a/37748933/1017348

lndjwyie

lndjwyie3#

在headless Linux上的OpenSCAD中,我们尝试在ctest运行之前启动虚拟帧缓冲区。但是我们不使用PRE_TEST。我们在cmake运行期间在build目录中构建自己的CTestCustom.cmake。(我们确实使用POST_TEST,但是有几个最近版本的CMake在POST_TEST中被破坏)。
你可以在这里找到代码https://github.com/openscad/openscad/blob/master/tests

相关问题