12345678910111213141516171819202122232425262728293031 |
- // 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 <catch2/catch.hpp>
- // 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" );
- #include <iostream>
- 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();
- }
|