gpt4 book ai didi

testing - CMake 中的 PASS_REGULAR_EXPRESSION

转载 作者:行者123 更新时间:2023-11-28 20:11:37 26 4
gpt4 key购买 nike

我一直在阅读 CMake tutorial .

“安装和测试(第 3 步)”部分具有以下测试脚本:

add_test (TutorialComp25 Tutorial 25)
set_tests_properties (TutorialComp25
PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5")

根据 CMake 文档,add_test 很简单,但我不明白如何 set_tests_properties作品;特别是这个“25 是 5”。

听起来像

if (INPUT_ARG is OUTPUT_RESULT)
test passed
else
test failed

对吗?

最佳答案

来自 PASS_REGULAR_EXPRESSION 的文档:

The output must match this regular expression for the test to pass.

If set, the test output will be checked against the specified regular expressions and at least one of the regular expressions has to match, otherwise the test will fail.

教程示例的第一个测试(称为 TutorialRuns)没有设置任何属性。这意味着如果 Tutorial exe 在完成时返回 0,并且已传递参数 25,CTest 将把测试视为已通过。

第二次测试,调用

set_tests_properties (TutorialComp25 PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5")

表示运行参数为 25Tutorial exe 的控制台输出必须包含字符串 "25 is 5"算过关了。在这种情况下,返回值被忽略。由于测试 exe 输出:

The square root of 25 is 5

它通过了。

请记住,这是一个正在应用的正则表达式。如果 PASS_REGULAR_EXPRESSION 设置为例如"^25 is 5",测试将失败,因为这是在输出的start 处查找短语25 is 5string 的文档中有 CMake 的正则表达式语法的简要说明。命令。

关于testing - CMake 中的 PASS_REGULAR_EXPRESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29132812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com