@@ -68,7 +68,7 @@ class TestFixture : public ErrorLogger {
6868 virtual void teardownTestInternal () {}
6969 std::string getLocationStr (const char * filename, unsigned int linenr) const ;
7070
71- void assert_ (const char * filename, unsigned int linenr, bool condition) const ;
71+ void assert_ (const char * filename, unsigned int linenr, bool condition, const std::string& msg = " " ) const ;
7272
7373 template <typename T>
7474 void assertEquals (const char * const filename, const unsigned int linenr, const T& expected, const T& actual, const std::string& msg = " " ) const {
@@ -313,14 +313,18 @@ class TestInstance {
313313// TODO: the asserts do not actually assert i.e. do stop executing the test
314314#define ASSERT ( CONDITION ) assert_(__FILE__, __LINE__, (CONDITION ))
315315#define ASSERT_LOC ( CONDITION, FILE_, LINE_ ) assert_(FILE_ , LINE_ , (CONDITION ))
316+ #define ASSERT_LOC_MSG ( CONDITION, MSG, FILE_, LINE_ ) assert_(FILE_ , LINE_ , (CONDITION ), MSG )
316317// *INDENT-OFF*
317318#define ASSERT_EQUALS ( EXPECTED, ACTUAL ) do { try { assertEquals (__FILE__, __LINE__, (EXPECTED ), (ACTUAL )); } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } while (false )
318319// *INDENT-ON*
319320#define ASSERT_EQUALS_WITHOUT_LINENUMBERS ( EXPECTED, ACTUAL ) assertEqualsWithoutLineNumbers(__FILE__, __LINE__, EXPECTED , ACTUAL )
320321#define ASSERT_EQUALS_DOUBLE ( EXPECTED, ACTUAL, TOLERANCE ) assertEqualsDouble(__FILE__, __LINE__, EXPECTED , ACTUAL , TOLERANCE )
322+ #define ASSERT_EQUALS_LOC ( EXPECTED, ACTUAL, FILE_, LINE_ ) assertEquals(FILE_ , LINE_ , EXPECTED , ACTUAL )
321323#define ASSERT_EQUALS_LOC_MSG ( EXPECTED, ACTUAL, MSG, FILE_, LINE_ ) assertEquals(FILE_ , LINE_ , EXPECTED , ACTUAL , MSG )
322324#define ASSERT_EQUALS_MSG ( EXPECTED, ACTUAL, MSG ) assertEquals(__FILE__, __LINE__, EXPECTED , ACTUAL , MSG )
323325#define ASSERT_EQUALS_ENUM ( EXPECTED, ACTUAL ) assertEqualsEnum(__FILE__, __LINE__, (EXPECTED ), (ACTUAL ))
326+ #define ASSERT_EQUALS_ENUM_LOC ( EXPECTED, ACTUAL, FILE_, LINE_ ) assertEqualsEnum(FILE_ , LINE_ , (EXPECTED ), (ACTUAL ))
327+ #define ASSERT_EQUALS_ENUM_LOC_MSG ( EXPECTED, ACTUAL, MSG, FILE_, LINE_ ) assertEqualsEnum(FILE_ , LINE_ , (EXPECTED ), (ACTUAL ), MSG )
324328#define TODO_ASSERT_EQUALS_ENUM ( WANTED, CURRENT, ACTUAL ) todoAssertEqualsEnum(__FILE__, __LINE__, WANTED , CURRENT , ACTUAL )
325329#define ASSERT_THROW_EQUALS ( CMD, EXCEPTION, EXPECTED ) do { try { (void )(CMD ); assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &e) { assertEquals (__FILE__, __LINE__, EXPECTED , e.errorMessage ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
326330#define ASSERT_THROW_EQUALS_2 ( CMD, EXCEPTION, EXPECTED ) do { try { (void )(CMD ); assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &e) { assertEquals (__FILE__, __LINE__, EXPECTED , e.what ()); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
0 commit comments