CTest -为不同的测试使用标签

  • 本文关键字:测试 标签 CTest cmake ctest
  • 更新时间 :
  • 英文 :


我找不到如何指定标签。应该是像

这样的东西
ADD_TEST( FirstTest RunSomeProgram "withArguments" )
SET_TESTS_PROPERTIES( FirstTest PROPERTIES LABEL "TESTLABEL" )

谁能告诉我如何设置这些标签,我可以使用

访问
ctest -S someScript -L TESTLABEL

您接近了-测试属性命名为LABELS,而不是LABEL

有几种设置标签的方法;你所选择的(使用set_tests_properties)有一个小问题。签名是:

set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)

这意味着每个属性只能应用一个值。因此,如果你想以这种方式将多个标签应用到测试中,你需要"欺骗"CMake,通过将标签列表作为包含分号分隔列表的单个字符串传递给CMake:

set_tests_properties(FirstTest PROPERTIES LABELS "TESTLABEL;UnitTest;FooModule")

set(Labels TESTLABEL UnitTest FooModule)
set_tests_properties(FirstTest PROPERTIES LABELS "${Labels}")  # Quotes essential


另一方面,您可以使用更通用的set_property命令传递适当的标签列表:

set_property(TEST FirstTest PROPERTY LABELS TESTLABEL UnitTest FooModule)

set_property(TEST FirstTest PROPERTY LABELS ${Labels})  # No quotes needed
这个命令的缺点是每次调用只能应用一个属性。

相关内容

  • 没有找到相关文章

最新更新