@@ -95,12 +95,12 @@ class TestFixture : public ErrorLogger {
9595 void assertEqualsFailed (const char * filename, unsigned int linenr, const std::string& expected, const std::string& actual, const std::string& msg) const ;
9696
9797 bool assertEquals (const char * filename, unsigned int linenr, const std::string &expected, const std::string &actual, const std::string &msg = emptyString) const ;
98- void assertEqualsWithoutLineNumbers (const char * filename, unsigned int linenr, const std::string &expected, const std::string &actual, const std::string &msg = emptyString) const ;
98+ bool assertEqualsWithoutLineNumbers (const char * filename, unsigned int linenr, const std::string &expected, const std::string &actual, const std::string &msg = emptyString) const ;
9999 bool assertEquals (const char * filename, unsigned int linenr, const char expected[], const std::string& actual, const std::string &msg = emptyString) const ;
100100 bool assertEquals (const char * filename, unsigned int linenr, const char expected[], const char actual[], const std::string &msg = emptyString) const ;
101101 bool assertEquals (const char * filename, unsigned int linenr, const std::string& expected, const char actual[], const std::string &msg = emptyString) const ;
102102 bool assertEquals (const char * filename, unsigned int linenr, long long expected, long long actual, const std::string &msg = emptyString) const ;
103- void assertEqualsDouble (const char * filename, unsigned int linenr, double expected, double actual, double tolerance, const std::string &msg = emptyString) const ;
103+ bool assertEqualsDouble (const char * filename, unsigned int linenr, double expected, double actual, double tolerance, const std::string &msg = emptyString) const ;
104104
105105 void todoAssertEquals (const char * filename, unsigned int linenr, const std::string &wanted,
106106 const std::string ¤t, const std::string &actual) const ;
@@ -296,30 +296,30 @@ class TestInstance {
296296};
297297
298298// TODO: most asserts do not actually assert i.e. do not return
299- #define TEST_CASE ( NAME ) do { if (prepareTest (#NAME )) { setVerbose (false ); try { NAME (); teardownTest (); } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } } while (false )
300- #define ASSERT ( CONDITION ) if (!assert_(__FILE__, __LINE__, (CONDITION ))) return
301- #define ASSERT_LOC ( CONDITION, FILE_, LINE_ ) assert_(FILE_ , LINE_ , (CONDITION ))
302- #define CHECK_EQUALS ( EXPECTED, ACTUAL ) assertEquals(__FILE__, __LINE__, (EXPECTED ), (ACTUAL ))
299+ #define TEST_CASE ( NAME ) do { if (prepareTest (#NAME )) { setVerbose (false ); try { NAME (); teardownTest (); } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } } while (false )
300+ #define ASSERT ( CONDITION ) if (!assert_(__FILE__, __LINE__, (CONDITION ))) return
301+ #define ASSERT_LOC ( CONDITION, FILE_, LINE_ ) ( void ) assert_(FILE_ , LINE_ , (CONDITION ))
302+ #define CHECK_EQUALS ( EXPECTED, ACTUAL ) ( void ) assertEquals(__FILE__, __LINE__, (EXPECTED ), (ACTUAL ))
303303// *INDENT-OFF*
304304#define ASSERT_EQUALS ( EXPECTED, ACTUAL ) do { try { if (!assertEquals (__FILE__, __LINE__, (EXPECTED ), (ACTUAL ))) return ; } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } while (false )
305305// *INDENT-ON*
306- #define ASSERT_EQUALS_WITHOUT_LINENUMBERS ( EXPECTED, ACTUAL ) assertEqualsWithoutLineNumbers(__FILE__, __LINE__, EXPECTED , ACTUAL )
307- #define ASSERT_EQUALS_DOUBLE ( EXPECTED, ACTUAL, TOLERANCE ) assertEqualsDouble(__FILE__, __LINE__, EXPECTED , ACTUAL , TOLERANCE )
308- #define ASSERT_EQUALS_LOC_MSG ( EXPECTED, ACTUAL, MSG, FILE_, LINE_ ) assertEquals(FILE_ , LINE_ , EXPECTED , ACTUAL , MSG )
309- #define ASSERT_EQUALS_MSG ( EXPECTED, ACTUAL, MSG ) assertEquals(__FILE__, __LINE__, EXPECTED , ACTUAL , MSG )
310- #define ASSERT_EQUALS_ENUM ( EXPECTED, ACTUAL ) if (!assertEqualsEnum(__FILE__, __LINE__, (EXPECTED ), (ACTUAL ))) return
311- #define ASSERT_THROW ( CMD, EXCEPTION ) do { try { CMD ; assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &) {} catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
312- #define ASSERT_THROW_EQUALS ( CMD, EXCEPTION, EXPECTED ) do { try { CMD ; assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &e) { assertEquals (__FILE__, __LINE__, EXPECTED , e.errorMessage ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
313- #define ASSERT_THROW_EQUALS_2 ( CMD, EXCEPTION, EXPECTED ) do { try { CMD ; assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &e) { assertEquals (__FILE__, __LINE__, EXPECTED , e.what ()); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
314- #define ASSERT_THROW_INTERNAL ( CMD, TYPE ) do { try { CMD ; assertThrowFail (__FILE__, __LINE__); } catch (const InternalError& e) { assertEqualsEnum (__FILE__, __LINE__, InternalError::TYPE , e.type ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
315- #define ASSERT_THROW_INTERNAL_EQUALS ( CMD, TYPE, EXPECTED ) do { try { CMD ; assertThrowFail (__FILE__, __LINE__); } catch (const InternalError& e) { assertEqualsEnum (__FILE__, __LINE__, InternalError::TYPE , e.type ); assertEquals (__FILE__, __LINE__, EXPECTED , e.errorMessage ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
316- #define ASSERT_NO_THROW ( CMD ) do { try { CMD ; } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } while (false )
317- #define TODO_ASSERT_THROW ( CMD, EXCEPTION ) do { try { CMD ; } catch (const EXCEPTION &) {} catch (...) { assertThrow (__FILE__, __LINE__); } } while (false )
306+ #define ASSERT_EQUALS_WITHOUT_LINENUMBERS ( EXPECTED, ACTUAL ) ( void ) assertEqualsWithoutLineNumbers(__FILE__, __LINE__, EXPECTED , ACTUAL )
307+ #define ASSERT_EQUALS_DOUBLE ( EXPECTED, ACTUAL, TOLERANCE ) ( void ) assertEqualsDouble(__FILE__, __LINE__, EXPECTED , ACTUAL , TOLERANCE )
308+ #define ASSERT_EQUALS_LOC_MSG ( EXPECTED, ACTUAL, MSG, FILE_, LINE_ ) ( void ) assertEquals(FILE_ , LINE_ , EXPECTED , ACTUAL , MSG )
309+ #define ASSERT_EQUALS_MSG ( EXPECTED, ACTUAL, MSG ) ( void ) assertEquals(__FILE__, __LINE__, EXPECTED , ACTUAL , MSG )
310+ #define ASSERT_EQUALS_ENUM ( EXPECTED, ACTUAL ) if (!assertEqualsEnum(__FILE__, __LINE__, (EXPECTED ), (ACTUAL ))) return
311+ #define ASSERT_THROW ( CMD, EXCEPTION ) do { try { ( void )( CMD ) ; assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &) {} catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
312+ #define ASSERT_THROW_EQUALS ( CMD, EXCEPTION, EXPECTED ) do { try { ( void )( CMD ) ; assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &e) { ( void ) assertEquals (__FILE__, __LINE__, EXPECTED , e.errorMessage ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
313+ #define ASSERT_THROW_EQUALS_2 ( CMD, EXCEPTION, EXPECTED ) do { try { ( void )( CMD ) ; assertThrowFail (__FILE__, __LINE__); } catch (const EXCEPTION &e) { ( void ) assertEquals (__FILE__, __LINE__, EXPECTED , e.what ()); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
314+ #define ASSERT_THROW_INTERNAL ( CMD, TYPE ) do { try { ( void )( CMD ) ; assertThrowFail (__FILE__, __LINE__); } catch (const InternalError& e) { ( void ) assertEqualsEnum (__FILE__, __LINE__, InternalError::TYPE , e.type ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
315+ #define ASSERT_THROW_INTERNAL_EQUALS ( CMD, TYPE, EXPECTED ) do { try { ( void )( CMD ) ; assertThrowFail (__FILE__, __LINE__); } catch (const InternalError& e) { ( void ) assertEqualsEnum (__FILE__, __LINE__, InternalError::TYPE , e.type ); ( void ) assertEquals (__FILE__, __LINE__, EXPECTED , e.errorMessage ); } catch (...) { assertThrowFail (__FILE__, __LINE__); } } while (false )
316+ #define ASSERT_NO_THROW ( CMD ) do { try { ( void )( CMD ) ; } catch (...) { assertNoThrowFail (__FILE__, __LINE__); } } while (false )
317+ #define TODO_ASSERT_THROW ( CMD, EXCEPTION ) do { try { ( void )( CMD ) ; } catch (const EXCEPTION &) {} catch (...) { assertThrow (__FILE__, __LINE__); } } while (false )
318318#define TODO_ASSERT ( CONDITION ) do { const bool condition=(CONDITION ); todoAssertEquals (__FILE__, __LINE__, true , false , condition); } while (false )
319319#define TODO_ASSERT_EQUALS ( WANTED, CURRENT, ACTUAL ) todoAssertEquals(__FILE__, __LINE__, WANTED , CURRENT , ACTUAL )
320- #define EXPECT_EQ ( EXPECTED, ACTUAL ) assertEquals(__FILE__, __LINE__, EXPECTED , ACTUAL )
320+ #define EXPECT_EQ ( EXPECTED, ACTUAL ) ( void ) assertEquals(__FILE__, __LINE__, EXPECTED , ACTUAL )
321321#define REGISTER_TEST ( CLASSNAME ) namespace { class CLASSNAME ## Instance : public TestInstance { public: CLASSNAME ## Instance() : TestInstance(#CLASSNAME ) {} TestFixture* create () override { impl.reset (new CLASSNAME ); return impl.get (); } }; CLASSNAME ## Instance instance_ ## CLASSNAME ; }
322322
323- #define PLATFORM ( P, T ) do { std::string errstr; assertEquals (__FILE__, __LINE__, true , P.set (Platform::toString (T), errstr, {exename}), errstr); } while (false )
323+ #define PLATFORM ( P, T ) do { std::string errstr; ( void ) assertEquals (__FILE__, __LINE__, true , P.set (Platform::toString (T), errstr, {exename}), errstr); } while (false )
324324
325325#endif // fixtureH
0 commit comments