我搜索了所有的文档,但似乎找不到一个使用CTEST_CUSTOM_PRE_TEST的示例。
基本上,在测试运行之前,我需要在服务器上启动并运行一些命令。因此,我需要添加一些预测试步骤。CTEST_CUSTOM_PRE_TEST的语法是什么?
CTEST_CUSTOM_PRE_TEST(?在这里放什么?)ADD_TEST(MyTest MyTestCommand)
发布于 2011-02-12 04:46:55
CTEST_CUSTOM_PRE_TEST是在运行ctest仪表板的上下文中使用的变量。它应该直接在ctest -S脚本本身中设置,或者在构建树顶部的CTestCustom.cmake文件中设置。
在任一文件中,示例值可能是:
set(CTEST_CUSTOM_PRE_TEST "perl prepareForTesting.pl -with-this -and-that")它应该是一个单独的命令行,格式正确,以便在您所在的系统上运行。它在ctest_test调用期间运行一次,在所有测试运行之前。类似地,还有一个CTEST_CUSTOM_POST_TEST变量,它也应该是一个单独的命令行,但在所有测试完成后运行。
引用和转义带有空格、引号和反斜杠的参数可能很有挑战性……但也许你也不需要它。
我不知道有什么真实的例子可以告诉你,但我能读懂ctest源代码……;-)
发布于 2016-06-10 21:03:09
将set(CTEST_CUSTOM_PRE_TEST ..放在一个文件中,该文件在cmake执行期间被复制到${CMAKE_BINARY_DIR}/CTestCustom.cmake。详情请参见https://stackoverflow.com/a/37748933/1017348。
发布于 2014-08-06 12:20:58
在OpenSCAD中,在headless linux上,我们尝试在ctest运行之前启动一个虚拟帧缓冲区。不过,我们不使用PRE_TEST。在'cmake‘运行期间,我们在build目录中构建我们自己的CTestCustom.cmake。(我们确实使用了POST_TEST,但在最近的几个版本中,POST_TEST被破坏了)
你可以在这里找到代码https://github.com/openscad/openscad/blob/master/tests
https://stackoverflow.com/questions/4398708
复制相似问题