// X02-DisabledMacros.cpp // Test that CATCH_CONFIG_DISABLE turns off TEST_CASE autoregistration // and expressions in assertion macros are not run. #define CATCH_CONFIG_MAIN #include // CATCH_CONFIG_DISABLE also prevents reporter registration. // We need to manually register at least one reporter for our tests static Catch::ReporterRegistrar temporary( "console" ); #include 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" ) { std::cout << "This should not happen\n"; FAIL(); }