summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2015-05-27 15:00:06 +0200
committer Miodrag Milanovic <mmicko@gmail.com>2015-05-27 15:00:06 +0200
commitee4adf600bdd3aa60cc0e92a39f2111be0a90bc6 (patch)
tree5ecb86b72eef1c19ad3ab6c7ba8d8b2a964e0cb9 /3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h
parent55fa9840f263361efc73126c3f41be606fea7168 (diff)
Added library for supporting unit tests (nw)
Diffstat (limited to '3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h')
-rw-r--r--3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h b/3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h
new file mode 100644
index 00000000000..d683dc0c172
--- /dev/null
+++ b/3rdparty/unittest-cpp/UnitTest++/ExecuteTest.h
@@ -0,0 +1,59 @@
+#ifndef UNITTEST_EXECUTE_TEST_H
+#define UNITTEST_EXECUTE_TEST_H
+
+#include "Config.h"
+#include "ExceptionMacros.h"
+#include "TestDetails.h"
+#include "TestResults.h"
+#include "MemoryOutStream.h"
+#include "AssertException.h"
+#include "CurrentTest.h"
+
+#ifdef UNITTEST_NO_EXCEPTIONS
+ #include "ReportAssertImpl.h"
+#endif
+
+#ifdef UNITTEST_POSIX
+ #include "Posix/SignalTranslator.h"
+#endif
+
+namespace UnitTest {
+
+template< typename T >
+void ExecuteTest(T& testObject, TestDetails const& details, bool isMockTest)
+{
+ if (isMockTest == false)
+ CurrentTest::Details() = &details;
+
+#ifdef UNITTEST_NO_EXCEPTIONS
+ if (UNITTEST_SET_ASSERT_JUMP_TARGET() == 0)
+ {
+#endif
+#ifndef UNITTEST_POSIX
+ UT_TRY({ testObject.RunImpl(); })
+#else
+ UT_TRY
+ ({
+ UNITTEST_THROW_SIGNALS_POSIX_ONLY
+ testObject.RunImpl();
+ })
+#endif
+ UT_CATCH(AssertException, e, { (void)e; })
+ UT_CATCH(std::exception, e,
+ {
+ MemoryOutStream stream;
+ stream << "Unhandled exception: " << e.what();
+ CurrentTest::Results()->OnTestFailure(details, stream.GetText());
+ })
+ UT_CATCH_ALL
+ ({
+ CurrentTest::Results()->OnTestFailure(details, "Unhandled exception: test crashed");
+ })
+#ifdef UNITTEST_NO_EXCEPTIONS
+ }
+#endif
+}
+
+}
+
+#endif