@@ -68,7 +68,7 @@ class TestFixture : public ErrorLogger {
68
68
virtual void teardownTestInternal () {}
69
69
std::string getLocationStr (const char * filename, unsigned int linenr) const ;
70
70
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 ;
72
72
73
73
template <typename T>
74
74
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 {
313
313
// TODO: the asserts do not actually assert i.e. do stop executing the test
314
314
#define ASSERT ( CONDITION ) assert_(__FILE__, __LINE__, (CONDITION))
315
315
#define ASSERT_LOC ( CONDITION, FILE_, LINE_ ) assert_(FILE_, LINE_, (CONDITION))
316
+ #define ASSERT_LOC_MSG ( CONDITION, MSG, FILE_, LINE_ ) assert_(FILE_, LINE_, (CONDITION), MSG)
316
317
// *INDENT-OFF*
317
318
#define ASSERT_EQUALS ( EXPECTED, ACTUAL ) do { try { assertEquals (__FILE__, __LINE__, (EXPECTED), (ACTUAL)); } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } while (false )
318
319
// *INDENT-ON*
319
320
#define ASSERT_EQUALS_WITHOUT_LINENUMBERS ( EXPECTED, ACTUAL ) assertEqualsWithoutLineNumbers(__FILE__, __LINE__, EXPECTED, ACTUAL)
320
321
#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)
321
323
#define ASSERT_EQUALS_LOC_MSG ( EXPECTED, ACTUAL, MSG, FILE_, LINE_ ) assertEquals(FILE_, LINE_, EXPECTED, ACTUAL, MSG)
322
324
#define ASSERT_EQUALS_MSG ( EXPECTED, ACTUAL, MSG ) assertEquals(__FILE__, __LINE__, EXPECTED, ACTUAL, MSG)
323
325
#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)
324
328
#define TODO_ASSERT_EQUALS_ENUM ( WANTED, CURRENT, ACTUAL ) todoAssertEqualsEnum(__FILE__, __LINE__, WANTED, CURRENT, ACTUAL)
325
329
#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 )
326
330
#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