diff --git a/test/ExtraCheckMacros.h b/test/ExtraCheckMacros.h new file mode 100644 index 00000000..20990f06 --- /dev/null +++ b/test/ExtraCheckMacros.h @@ -0,0 +1,23 @@ +#ifndef UNITTEST_EXTRA_CHECKMACROS_H +#define UNITTEST_EXTRA_CHECKMACROS_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#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