diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 02e027476b..d9ca6867ab 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -418,6 +418,33 @@ set_tests_properties("ErrorHandling::InvalidTestSpecExitsEarly" FAIL_REGULAR_EXPRESSION "No tests ran" ) +if (MSVC) + set(_NullFile "NUL") +else() + set(_NullFile "/dev/null") +endif() + +add_test(NAME "MultiReporter::CapturingReportersDontPropagateStdOut" + COMMAND + $ "Sends stuff to stdout and stderr" + --reporter xml:${_NullFile} + --reporter junit:${_NullFile} +) +set_tests_properties("MultiReporter::CapturingReportersDontPropagateStdOut" + PROPERTIES + FAIL_REGULAR_EXPRESSION ".+" +) +add_test(NAME "MultiReporter::NonCapturingReportersPropagateStdout" + COMMAND + $ "Sends stuff to stdout and stderr" + --reporter xml:${_NullFile} + --reporter console:${_NullFile} +) +set_tests_properties("MultiReporter::NonCapturingReportersPropagateStdout" + PROPERTIES + PASS_REGULAR_EXPRESSION "A string sent to stderr via clog" +) + if (CATCH_USE_VALGRIND) add_test(NAME ValgrindRunTests COMMAND valgrind --leak-check=full --error-exitcode=1 $)