当涉及到测试时,Boost.Build文档非常简洁。
我的项目中的所有测试都使用unit-test规则定义。
文档中提到的唯一属性是testing.launcher,但这只能在设置为testing.launcher=true时禁用测试的执行。
如何完全禁用unit-test 规则的编译?--例如,通过从命令行设置一个属性--我想暂时这样做。我找不到如何这样做的任何信息,也找不到其他testing.*属性的参考文档。
发布于 2012-03-07 15:52:13
当我阅读大多数Boost.Build文档及其代码的相关部分时,我发现无法临时禁用构建特定规则或目标集(例如,通过将测试的目标与正则表达式匹配)。
同样值得注意的是,unit-test是所反对的,支持新的测试规则:run、run-fail、compile、compile-fail、link、link-fail。
现在,我可能要创建我自己的规则,就像@GrafikRobot的答案一样,但是我将在某个特性存在的情况下,使规则变为空,而不是将目标显式化。
发布于 2012-02-26 21:24:10
如果你是说在默认情况下禁用它们?您可以为每个单元测试添加“显式;”。如果您有许多这样的目标,您可以保存一些类型并声明一条为您执行此操作的规则,并声明如下所示的单元测试:
rule explicit-unit-test ( target : source : properties * )
{
unit-test $(target) : $(source) : $(properties) ;
explicit $(target) ;
}如果你想要别的..。我想你需要更好地解释你的问题,因为我想不出你还想要什么。
发布于 2013-03-10 10:43:05
为此,我使用显式测试套件,如
explicit X ;
test-suite X
:
[ run test1.cpp ]
[ run test2.cpp ]
[ run test3.cpp ]
[ run test4.cpp ]
;您将需要在测试套件X中显式地请求执行测试,使用
bjam Xhttps://stackoverflow.com/questions/9453343
复制相似问题