diff ext/UnitTest++/src/Test.cpp @ 37:0d325e9d5953

added unittest++ files into ext. Not hooked into build scripts yet
author jasoka@33b003aa-7bff-0310-803a-e67f0ece8222
date Sat, 12 Jul 2008 12:00:57 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ext/UnitTest++/src/Test.cpp	Sat Jul 12 12:00:57 2008 +0000
@@ -0,0 +1,62 @@
+#include "Config.h"
+#include "Test.h"
+#include "TestList.h"
+#include "TestResults.h"
+#include "AssertException.h"
+#include "MemoryOutStream.h"
+
+#ifdef UNITTEST_POSIX
+    #include "Posix/SignalTranslator.h"
+#endif
+
+namespace UnitTest {
+
+TestList& Test::GetTestList()
+{
+    static TestList s_list;
+    return s_list;
+}
+
+Test::Test(char const* testName, char const* suiteName, char const* filename, int const lineNumber)
+    : m_details(testName, suiteName, filename, lineNumber)
+    , next(0)
+    , m_timeConstraintExempt(false)
+{
+}
+
+Test::~Test()
+{
+}
+
+void Test::Run(TestResults& testResults) const
+{
+    try
+    {
+#ifdef UNITTEST_POSIX
+        UNITTEST_THROW_SIGNALS
+#endif
+        RunImpl(testResults);
+    }
+    catch (AssertException const& e)
+    {
+        testResults.OnTestFailure( TestDetails(m_details.testName, m_details.suiteName, e.Filename(), e.LineNumber()), e.what());
+    }
+    catch (std::exception const& e)
+    {
+        MemoryOutStream stream;
+        stream << "Unhandled exception: " << e.what();
+        testResults.OnTestFailure(m_details, stream.GetText());
+    }
+    catch (...)
+    {
+        testResults.OnTestFailure(m_details, "Unhandled exception: Crash!");
+    }
+}
+
+
+void Test::RunImpl(TestResults&) const
+{
+}
+
+
+}