感兴趣的应用程序是一个编译器,它在源代码中遇到错误时返回一个非零退出代码。编译器的单元测试由有意触发错误的小片段组成。
用于添加测试的函数是:
function(add_compiler_test test_name options)
add_test(NAME ${test_name}
COMMAND $<TARGET_FILE:pawncc> ${DEFAULT_COMPILER_OPTIONS} ${options})
set_tests_properties(${test_name} PROPERTIES
ENVIRONMENT PATH=$<TARGET_FILE_DIR:pawnc>)
endfunction()
尽管这是正确的行为,但当程序返回非零退出代码时,这会导致测试失败。
如何测试程序的退出状态?
最佳答案
如果您希望测试在返回非零退出状态时报告为成功,否则为 FAILED,设置 WILL_FAIL测试的属性:
set_tests_properties(<test1> <test2> ... PROPERTIES WILL_FAIL TRUE)
关于unit-testing - 使用 ctest/cmake 测试非零退出状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51289456/