@@ -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