forked from catchorg/Catch2
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			803 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			803 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// 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();
 | 
						|
}
 |