2014-09-02 2 views
2

У меня есть проект C++ cmake, который использует Boost Test для модульного тестирования. Теперь я хотел бы показать серию сценариев bash (используемых для тестирования интеграции) в cmake. Предположим, что каждый из этих сценариев вернет 0 в случае PASS или что-то! = 0 в случае FAILURE. Я хотел бы, чтобы каждый скрипт выполнялся всякий раз, когда я запускал cmake test.Интеграция скриптов теста bash в cmake

Что это самый простой и быстрый способ получить такое поведение

+0

Обратите внимание, что 'bash' является специфичным для UNIX инструментом, если вы хотите быть кросс-платформенным, вам нужно использовать что-то вроде python или cmake inself (см. [Cmake -E] (http://www.cmake.org/ cmake/help/v3.0/manual/cmake.1.html)) – 2014-09-06 07:35:42

+0

Это интересно. Есть ли у вас какая-либо ссылка на некоторые рецепты для использования режима команд cmake для написания тестовых примеров? – nopper

+1

Нет, никаких специальных предложений. Просто используйте его как обычный скрипт, и вы знаете ... sanity :) Пример [project] (http://pastebin.com/1EYj0ARV) и [сценарий тестирования] (http://pastebin.com/FRvnQcX0). – 2014-09-06 07:57:03

ответ

5

В принципе, вы хотите, чтобы начать работающую программу Баш

find_program (BASH_PROGRAM bash) 

Тогда просто добавьте ваш скрипт в список тестов

if (BASH_PROGRAM) 
    add_test (mytest ${BASH_PROGRAM} ${CMAKE_CURRENT_SOURCE_DIR}/script.sh) 
endif (BASH_PROGRAM) 

И все это должно работать.

+0

Спасибо! ты сделал мой день ;) – nopper

Смежные вопросы