2013-05-16 1 views
1

У меня есть проект VC++, который имеет две конфигурации сборки, каждая из которых требует использования другой сторонней библиотеки. например Release_A & Release_B использовать библиотеки A & B и обернуть их функциональные возможности.boost.test - отличительные результаты теста от различных конфигураций сборки того же проекта

Мы используем набор модульных тестов boost.test, поэтому мы можем быть уверены, что обе версии работают одинаково, поэтому мы скомпилируем тестовое приложение для обеих версий build_configurations, чтобы дать test_A.exe test_B.exe, и эти тесты испускают test_A.xml & test_B.xml.

Проблема заключается в том, что тестовый XML не различает каким-либо образом, какая версия была протестирована, поэтому, когда мы вытаскиваем эти два файла XML в инструмент, такой как Jenkins, невозможно определить, какая конфигурация виновата в любых отказах.

Есть ли опрятный способ сделать это в C++ testuite-коде?

ответ

0

Ну, я нашел простой ответ ... задайте препроцессор #define в настройках проекта для каждой конфигурации сборки и испеките это в определении BOOST_TEST_MODULE.

.: например

#define BOOST_TEST_MODULE MyAppName(SOME_PREPROCESSOR_VAR)