我搜索了所有的文档,但似乎无法找到使用CTEST_CUSTOM_PRE_TEST的单个示例。你如何使用CTEST_CUSTOM_PRE_TEST?
基本上我需要在测试运行之前在服务器上启动并运行一些命令。所以我需要添加一些预测试步骤。 CTEST_CUSTOM_PRE_TEST的语法是什么?
CTEST_CUSTOM_PRE_TEST(???放什么位置???) ADD_TEST(MyTest的MyTestCommand)
我搜索了所有的文档,但似乎无法找到使用CTEST_CUSTOM_PRE_TEST的单个示例。你如何使用CTEST_CUSTOM_PRE_TEST?
基本上我需要在测试运行之前在服务器上启动并运行一些命令。所以我需要添加一些预测试步骤。 CTEST_CUSTOM_PRE_TEST的语法是什么?
CTEST_CUSTOM_PRE_TEST(???放什么位置???) ADD_TEST(MyTest的MyTestCommand)
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变量,它也应该是单个命令行,但在所有测试完成后运行。
使用空格,引号和反斜杠引用和转义args可能具有挑战性......但也许你也不需要这样做。
我不知道这是一个现实世界的例子,我可以点你,但我可以读CTEST源代码;-)
在OpenSCAD无头的Linux,我们试图启动一个在ctest之前运行虚拟帧缓冲区。尽管我们不使用PRE_TEST。我们在'cmake'运行期间在构建目录中构建自己的CTestCustom.cmake。 (我们确实使用POST_TEST,但也有cmake的哪里POST_TEST被打破了最近的几个版本)
您可以在这里找到的代码https://github.com/openscad/openscad/blob/master/tests
广场set(CTEST_CUSTOM_PRE_TEST ..
在cmake的执行过程中被复制到${CMAKE_BINARY_DIR}/CTestCustom.cmake
文件。有关详细信息,请参见https://stackoverflow.com/a/37748933/1017348。
也许供应? – Penz 2014-08-04 02:58:32