2012-02-26 2 views
0

Boost.Build документация довольно лаконична, когда дело доходит до тестирования.Отключение компиляции единицы измерения в Boost.Build

Все тесты в моем проекте определены с использованием правила unit-test.

Единственное упомянутое в документации документация - testing.launcher, но это может только отключить выполнение тестов, если установлено значение testing.launcher=true.

Как полностью отключить компиляцию unit-test правил? Я бы хотел сделать это временно, например, установив свойство из командной строки. Я не мог найти информацию о том, как это сделать или какой-либо справочной документации для других объектов testing.*.

ответ

1

Как я прочитал большую часть документации Boost.Build и соответствующей части ее кода Я не нашел способ для временного отключения определенного правила здания или набора целей (например, путем сопоставления целей тестов с регулярным выражением).

Это, кроме того, стоит отметить, что unit-test был осуждается в пользу новых правил тестирования: run, run-fail, compile, compile-fail, link, link-fail.

Теперь, возможно, я буду создать свое собственное правило, как в ответе @ GrafikRobot, но вместо того, чтобы цель явной Сделаю правило пустых в присутствии определенного признака.

1

Если вы имеете в виду отключить их по умолчанию? Вы можете сделать это, добавив «Явный»; для каждого модульного теста. Если у вас есть много таких целей вы можете сэкономить ввод и объявить правило, что делает это для вас, а также объявить модульный тест, как:

rule explicit-unit-test (target : source : properties *) 
{ 
    unit-test $(target) : $(source) : $(properties) ; 
    explicit $(target) ; 
} 

Если вы хотите что-то другое .. Я думаю, что вам нужно, чтобы лучше объяснить ваши потому что я не могу придумать, что еще вы можете хотеть.

0

Я использую явные тестовые наборы для этой цели, как и в

explicit X ; 
test-suite X 
: 
     [ run test1.cpp ] 
     [ run test2.cpp ] 
     [ run test3.cpp ] 
     [ run test4.cpp ] 
; 

Вам нужно будет запросить явно выполнение тестов в тест-люкс X с помощью

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