etl/test/ExtraCheckMacros.h
jwellbelove a956df84e0 Defines CHECK_NO_THROW
Defines CHECK_NO_THROW if not already defined.
2014-11-03 12:33:46 +00:00

24 lines
771 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