diff --git a/Test/ConditionTests.cpp b/Test/ConditionTests.cpp index b3106816..64897fd1 100644 --- a/Test/ConditionTests.cpp +++ b/Test/ConditionTests.cpp @@ -120,7 +120,7 @@ TEST_CASE( "succeeding/conditions/ordered", "Ordering comparison checks that sho CHECK( data.str_hello >= "hello" ); CHECK( data.str_hello < "hellp" ); - CHECK( data.str_hello < "z" ); + CHECK( data.str_hello < "zebra" ); CHECK( data.str_hello > "hellm" ); CHECK( data.str_hello > "a" ); } diff --git a/catch.hpp b/catch.hpp index 5bbd4697..bea9a31d 100644 --- a/catch.hpp +++ b/catch.hpp @@ -32,33 +32,33 @@ ////// -#define EXPECT( pred ) _CATCH_TEST( pred, false, true, "EXPECT" ) -#define EXPECT_NOT( pred ) _CATCH_TEST( pred, true, true, "EXPECT_NOT" ) +#define EXPECT( expr ) INTERNAL_CATCH_TEST( expr, false, true, "EXPECT" ) +#define EXPECT_NOT( expr ) INTERNAL_CATCH_TEST( expr, true, true, "EXPECT_NOT" ) -#define EXPECT_THROWS( expr ) _CATCH_THROWS( expr, ..., false, true, "EXPECT_THROWS" ) -#define EXPECT_THROWS_AS( expr, exceptionType ) _CATCH_THROWS_AS( expr, exceptionType, false, true, "EXPECT_THROWS_AS" ) +#define EXPECT_THROWS( expr ) INTERNAL_CATCH_THROWS( expr, ..., false, true, "EXPECT_THROWS" ) +#define EXPECT_THROWS_AS( expr, exceptionType ) INTERNAL_CATCH_THROWS_AS( expr, exceptionType, false, true, "EXPECT_THROWS_AS" ) -#define CHECK( pred ) _CATCH_TEST( pred, false, false, "CHECK" ) -#define CHECK_NOT( pred ) _CATCH_TEST( pred, true, false, "CHECK_NOT" ) +#define CHECK( expr ) INTERNAL_CATCH_TEST( expr, false, false, "CHECK" ) +#define CHECK_NOT( expr ) INTERNAL_CATCH_TEST( expr, true, false, "CHECK_NOT" ) -#define CHECK_THROWS( expr ) _CATCH_THROWS( expr, ..., false. false, "CHECK_THROWS" ) -#define CHECK_THROWS_AS( expr, exceptionType ) _CATCH_THROWS_AS( expr, exceptionType, false, false, "CHECK_THROWS_AS" ) -#define CHECK_NOTHROW( expr ) _CATCH_THROWS_AS( expr, Catch::DummyExceptionType_DontUse, true, false, "CHECK_NOTHROW" ) +#define CHECK_THROWS( expr ) INTERNAL_CATCH_THROWS( expr, ..., false. false, "CHECK_THROWS" ) +#define CHECK_THROWS_AS( expr, exceptionType ) INTERNAL_CATCH_THROWS_AS( expr, exceptionType, false, false, "CHECK_THROWS_AS" ) +#define CHECK_NOTHROW( expr ) INTERNAL_CATCH_THROWS_AS( expr, Catch::DummyExceptionType_DontUse, true, false, "CHECK_NOTHROW" ) -#define INFO( reason ) _CATCH_MSG( reason, Catch::ResultWas::Info, false, "INFO" ) -#define WARN( reason ) _CATCH_MSG( reason, Catch::ResultWas::Warning, false, "WARN" ) -#define FAIL( reason ) _CATCH_MSG( reason, Catch::ResultWas::ExplicitFailure, true, "FAIL" ) +#define INFO( reason ) INTERNAL_CATCH_MSG( reason, Catch::ResultWas::Info, false, "INFO" ) +#define WARN( reason ) INTERNAL_CATCH_MSG( reason, Catch::ResultWas::Warning, false, "WARN" ) +#define FAIL( reason ) INTERNAL_CATCH_MSG( reason, Catch::ResultWas::ExplicitFailure, true, "FAIL" ) #define SECTION( name, description ) CATCH_SECTION( name, description ) -#define TEST_CASE( name, description ) CATCH_TEST_CASE( name, description ) +#define TEST_CASE( name, description ) INTERNAL_CATCH_TESTCASE( name, description ) #define METHOD_AS_TEST_CASE( method, name, description ) CATCH_METHOD_AS_TEST_CASE( method, name, description ) #define REGISTER_REPORTER( name, reporterType ) CATCH_REGISTER_REPORTER( name, reporterType ) /////////////// // Still to be implemented -#define CHECK_NOFAIL( pred ) // !TBD - reports violation, but doesn't fail Test +#define CHECK_NOFAIL( expr ) // !TBD - reports violation, but doesn't fail Test using Catch::Approx; diff --git a/internal/catch_capture.hpp b/internal/catch_capture.hpp index 2a01eeef..9333fa4a 100644 --- a/internal/catch_capture.hpp +++ b/internal/catch_capture.hpp @@ -247,11 +247,11 @@ inline std::string toString( const Approx& value ) } // end namespace Catch -#define _CATCH_TEST( expr, isNot, stopOnFailure, macroName ) \ +#define INTERNAL_CATCH_TEST( expr, isNot, stopOnFailure, macroName ) \ Catch::ResultsCapture::acceptExpression( Catch::ResultBuilder( #expr, isNot, __FILE__, __LINE__, macroName )->*expr ); \ Catch::ResultsCapture::acceptResult( expr, stopOnFailure ); -#define _CATCH_THROWS( expr, exceptionType, nothrow, stopOnFailure, macroName ) \ +#define INTERNAL_CATCH_THROWS( expr, exceptionType, nothrow, stopOnFailure, macroName ) \ Catch::ResultsCapture::acceptExpression( Catch::ResultBuilder( #expr, false, __FILE__, __LINE__, macroName ) ); \ try \ { \ @@ -263,14 +263,14 @@ inline std::string toString( const Approx& value ) Catch::ResultsCapture::acceptResult( !(nothrow), stopOnFailure ); \ } -#define _CATCH_THROWS_AS( expr, exceptionType, nothrow, stopOnFailure, macroName ) \ -_CATCH_THROWS( expr, exceptionType, nothrow, stopOnFailure, macroName ) \ +#define INTERNAL_CATCH_THROWS_AS( expr, exceptionType, nothrow, stopOnFailure, macroName ) \ +INTERNAL_CATCH_THROWS( expr, exceptionType, nothrow, stopOnFailure, macroName ) \ catch( ... ) \ { \ Catch::ResultsCapture::acceptResult( false, stopOnFailure ); \ } -#define _CATCH_MSG( reason, resultType, stopOnFailure, macroName ) \ +#define INTERNAL_CATCH_MSG( reason, resultType, stopOnFailure, macroName ) \ Catch::ResultsCapture::acceptExpression( Catch::MutableResultInfo( "", false, __FILE__, __LINE__, macroName ) ); \ Catch::ResultsCapture::acceptMessage( reason ); \ Catch::ResultsCapture::acceptResult( resultType, stopOnFailure ); diff --git a/internal/catch_common.h b/internal/catch_common.h index b4d8b162..99a9da52 100644 --- a/internal/catch_common.h +++ b/internal/catch_common.h @@ -13,8 +13,8 @@ #ifndef TWOBLUECUBES_CATCH_COMMON_H_INCLUDED #define TWOBLUECUBES_CATCH_COMMON_H_INCLUDED -#define _CATCH_UNIQUE_NAME_LINE2( name, line ) name##line -#define _CATCH_UNIQUE_NAME_LINE( name, line ) _CATCH_UNIQUE_NAME_LINE2( name, line ) -#define _CATCH_UNIQUE_NAME( name ) _CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) +#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line +#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) +#define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) #endif // TWOBLUECUBES_CATCH_COMMON_H_INCLUDED \ No newline at end of file diff --git a/internal/catch_registry.hpp b/internal/catch_registry.hpp index b136be6d..24ac89e3 100644 --- a/internal/catch_registry.hpp +++ b/internal/catch_registry.hpp @@ -105,12 +105,12 @@ struct AutoReg } // end namespace Catch -#define CATCH_TEST_CASE( Name, Desc ) \ - static void _CATCH_UNIQUE_NAME( __catchTestFunction )(); \ - namespace{ Catch::AutoReg _CATCH_UNIQUE_NAME( autoRegistrar )( &_CATCH_UNIQUE_NAME( __catchTestFunction ), Name, Desc ); }\ - static void _CATCH_UNIQUE_NAME( __catchTestFunction )() +#define INTERNAL_CATCH_TESTCASE( Name, Desc ) \ + static void INTERNAL_CATCH_UNIQUE_NAME( catch_internal_TestFunction )(); \ + namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( &INTERNAL_CATCH_UNIQUE_NAME( catch_internal_TestFunction ), Name, Desc ); }\ + static void INTERNAL_CATCH_UNIQUE_NAME( catch_internal_TestFunction )() #define CATCH_METHOD_AS_TEST_CASE( QualifiedMethod, Name, Desc ) \ - namespace{ Catch::AutoReg _CATCH_UNIQUE_NAME( autoRegistrar )( &QualifiedMethod, Name, Desc ); } + namespace{ Catch::AutoReg INTERNAL_CATCH_UNIQUE_NAME( autoRegistrar )( &QualifiedMethod, Name, Desc ); } #endif // TWOBLUECUBES_CATCH_REGISTRY_HPP_INCLUDED diff --git a/internal/catch_reporter_registry.hpp b/internal/catch_reporter_registry.hpp index 820703d6..806dbdb1 100644 --- a/internal/catch_reporter_registry.hpp +++ b/internal/catch_reporter_registry.hpp @@ -161,6 +161,6 @@ namespace Catch }; } -#define CATCH_REGISTER_REPORTER( name, reporterType ) Catch::ReporterRegistrar _CATCH_UNIQUE_NAME( __catchReporterReg )( name ); +#define CATCH_REGISTER_REPORTER( name, reporterType ) Catch::ReporterRegistrar INTERNAL_CATCH_UNIQUE_NAME( catch_internal_ReporterReg )( name ); #endif // TWOBLUECUBES_CATCH_REPORTER_REGISTRY_HPP_INCLUDED \ No newline at end of file diff --git a/internal/catch_section.hpp b/internal/catch_section.hpp index c7df9e85..0975695d 100644 --- a/internal/catch_section.hpp +++ b/internal/catch_section.hpp @@ -34,6 +34,6 @@ namespace Catch } // end namespace Catch -#define CATCH_SECTION( name, desc ) if( Catch::Section __catchSection = Catch::Section( name, desc ) ) +#define CATCH_SECTION( name, desc ) if( Catch::Section catch_internal_Section = Catch::Section( name, desc ) ) #endif // TWOBLUECUBES_CATCH_SECTION_HPP_INCLUDED