mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-23 11:43:29 +01:00
6070745cab
This PR ultimately does 3 things * Separately tracks matched tests per each filter part (that is, a set of filters separated by an OR (`,`)), which allows Catch2 to report each of the alternative filters that don't match any tests. * Fixes `-w NoTests` to return non-zero in the process * Adds tests for `-w NoTests`.
20 lines
528 B
CMake
20 lines
528 B
CMake
# Workaround for a peculiarity where CTest disregards the return code from a
|
|
# test command if a PASS_REGULAR_EXPRESSION is also set
|
|
execute_process(
|
|
COMMAND ${CMAKE_ARGV3} -w NoTests "___nonexistent_test___"
|
|
RESULT_VARIABLE ret
|
|
OUTPUT_VARIABLE out
|
|
)
|
|
|
|
message("${out}")
|
|
|
|
if(NOT ${ret} MATCHES "^[0-9]+$")
|
|
message(FATAL_ERROR "${ret}")
|
|
endif()
|
|
|
|
if(${ret} EQUAL 0)
|
|
message(FATAL_ERROR "Expected nonzero return code")
|
|
elseif(${out} MATCHES "Helper failed with")
|
|
message(FATAL_ERROR "Helper failed")
|
|
endif()
|