| // 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(); | |
| } | |