我找不到如何指定标签.应该是这样的
ADD_TEST( FirstTest RunSomeProgram "withArguments" )
SET_TESTS_PROPERTIES( FirstTest PROPERTIES LABEL "TESTLABEL" )
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何设置其中一个标签,我可以使用
ctest -S someScript -L TESTLABEL
Run Code Online (Sandbox Code Playgroud)
Fra*_*ser 14
你很接近 - 测试属性被命名LABELS,而不是LABEL.
有几种设置标签的方法; 你选择的(使用set_tests_properties)有一个轻微的陷阱.签名是:
set_tests_properties(test1 [test2...] PROPERTIES prop1 value1 prop2 value2)
Run Code Online (Sandbox Code Playgroud)
这意味着每个属性只能应用一个值.因此,如果您想以这种方式将多个标签应用于测试,则需要通过将标签列表作为包含以分号分隔的列表的单个字符串来"欺骗"CMake:
set_tests_properties(FirstTest PROPERTIES LABELS "TESTLABEL;UnitTest;FooModule")
Run Code Online (Sandbox Code Playgroud)
要么
set(Labels TESTLABEL UnitTest FooModule)
set_tests_properties(FirstTest PROPERTIES LABELS "${Labels}") # Quotes essential
Run Code Online (Sandbox Code Playgroud)
另一方面,您可以使用更通用的set_property命令传递正确的标签列表:
set_property(TEST FirstTest PROPERTY LABELS TESTLABEL UnitTest FooModule)
Run Code Online (Sandbox Code Playgroud)
要么
set_property(TEST FirstTest PROPERTY LABELS ${Labels}) # No quotes needed
Run Code Online (Sandbox Code Playgroud)
此命令的轻微缺点是您每次调用只能应用一个属性.
| 归档时间: |
|
| 查看次数: |
3636 次 |
| 最近记录: |