You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#define FATMAP_ASSERT(x) { if (!(x)) { throw UnitTest::AssertException(std::string("Assert failed: (") + #x + ") at " + __FUNCTION__); } }
This allows us to use CHECK_ASSERT in the UnitTests.
But turns out that if you do FATMAP_ASSERT(false) anywhere outside of CHECK_ASSERT or CHECK statement, then it will fail silently even in Debug mode. It seems to be caused by this code:
We defined our assert as:
#define FATMAP_ASSERT(x) { if (!(x)) { throw UnitTest::AssertException(std::string("Assert failed: (") + #x + ") at " + __FUNCTION__); } }
This allows us to use CHECK_ASSERT in the UnitTests.
But turns out that if you do FATMAP_ASSERT(false) anywhere outside of CHECK_ASSERT or CHECK statement, then it will fail silently even in Debug mode. It seems to be caused by this code:
https://github.com/unittest-cpp/unittest-cpp/blob/master/UnitTest++/TestMacros.h#L78
Is this intentional? If so what's the right way of checking for asserts and still not allowing other asserts to fail?
The text was updated successfully, but these errors were encountered: