Как вы используете CTEST_CUSTOM_PRE_TEST? - PullRequest
7 голосов
/ 09 декабря 2010

Я искал все документы, но не могу найти ни одного примера использования CTEST_CUSTOM_PRE_TEST.

В основном мне нужно запустить и выполнить некоторые команды на сервере до запуска теста.Поэтому мне нужно добавить несколько шагов перед тестированием.Каков синтаксис CTEST_CUSTOM_PRE_TEST?

CTEST_CUSTOM_PRE_TEST (??? что сюда ставить ???) ADD_TEST (MyTest MyTestCommand)

Ответы [ 3 ]

6 голосов
/ 11 февраля 2011

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 ...; -)

1 голос
/ 10 июня 2016

Поместить set(CTEST_CUSTOM_PRE_TEST .. в файл, который во время выполнения cmake копируется в ${CMAKE_BINARY_DIR}/CTestCustom.cmake. Подробнее см. https://stackoverflow.com/a/37748933/1017348.

1 голос
/ 06 августа 2014

В OpenSCAD на безголовом linux мы пытаемся запустить виртуальный фрейм-буфер до запуска ctest.Мы не используем PRE_TEST, хотя.Мы строим наш собственный CTestCustom.cmake в каталоге сборки во время выполнения команды 'cmake'.(Мы используем POST_TEST, но было несколько последних версий cmake, где POST_TEST был сломан)

Вы можете найти код здесь https://github.com/openscad/openscad/blob/master/tests

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...