2010-12-09 43 views
6

我搜索了所有的文档,但似乎无法找到使用CTEST_CUSTOM_PRE_TEST的单个示例。你如何使用CTEST_CUSTOM_PRE_TEST?

基本上我需要在测试运行之前在服务器上启动并运行一些命令。所以我需要添加一些预测试步骤。 CTEST_CUSTOM_PRE_TEST的语法是什么?

CTEST_CUSTOM_PRE_TEST(???放什么位置???) ADD_TEST(MyTest的MyTestCommand)

回答

5

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

+0

也许供应? – Penz 2014-08-04 02:58:32

1

在OpenSCAD无头的Linux,我们试图启动一个在ctest之前运行虚拟帧缓冲区。尽管我们不使用PRE_TEST。我们在'cmake'运行期间在构建目录中构建自己的CTestCustom.cmake。 (我们确实使用POST_TEST,但也有cmake的哪里POST_TEST被打破了最近的几个版本)

您可以在这里找到的代码https://github.com/openscad/openscad/blob/master/tests