etl/test/ExtraCheckMacros.h
2020-01-09 11:15:50 +00:00

24 lines
770 B
C++

#ifndef UNITTEST_EXTRA_CHECKMACROS_H
#define UNITTEST_EXTRA_CHECKMACROS_H
#include "UnitTest++/HelperMacros.h"
#include "UnitTest++/ExceptionMacros.h"
#include "UnitTest++/Checks.h"
#include "UnitTest++/AssertException.h"
#include "UnitTest++/MemoryOutStream.h"
#include "UnitTest++/TestDetails.h"
#include "UnitTest++/CurrentTest.h"
#include "UnitTest++/ReportAssertImpl.h"
#ifndef CHECK_NO_THROW
#define CHECK_NO_THROW(expression) \
UNITTEST_MULTILINE_MACRO_BEGIN \
bool caught_ = false; \
try { expression; } \
catch (...) { caught_ = true; } \
if (caught_) \
UnitTest::CurrentTest::Results()->OnTestFailure(UnitTest::TestDetails(*UnitTest::CurrentTest::Details(), __LINE__), "Unexpected exception thrown"); \
UNITTEST_MULTILINE_MACRO_END
#endif
#endif