mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-14 09:49:54 +01:00
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();
|
||
|
}
|