Add tests for CATCH_CONFIG_DISABLE
This commit is contained in:
parent
9c3cc4a076
commit
6f75acbfb5
3 changed files with 49 additions and 1 deletions
31
projects/ExtraTests/X02-DisabledMacros.cpp
Normal file
31
projects/ExtraTests/X02-DisabledMacros.cpp
Normal file
|
@ -0,0 +1,31 @@
|
|||
// 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();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue