// X02-DisabledMacros.cpp | |
// Test that CATCH_CONFIG_DISABLE turns off TEST_CASE autoregistration | |
// and expressions in assertion macros are not run. | |
// CATCH_CONFIG_DISABLE also prevents reporter registration. | |
// We need to manually register at least one reporter for our tests | |
static Catch::ReporterRegistrar<Catch::ConsoleReporter> temporary( "console" ); | |
struct foo { | |
foo(){ | |
REQUIRE_NOTHROW( print() ); | |
} | |
void print() const { | |
std::cout << "This should not happen\n"; | |
} | |
}; | |
// Construct foo, but `foo::print` should not be run | |
foo f; | |
// This test should not be run, because it won't be registered | |
TEST_CASE( "Disabled Macros" ) { | |
CAPTURE( 1 ); | |
CAPTURE( 1, "captured" ); | |
std::cout << "This should not happen\n"; | |
FAIL(); | |
} | |