summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/unittest-cpp/UnitTest++/TimeConstraint.cpp
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++/TimeConstraint.cpp
parent55fa9840f263361efc73126c3f41be606fea7168 (diff)
Added library for supporting unit tests (nw)
Diffstat (limited to '3rdparty/unittest-cpp/UnitTest++/TimeConstraint.cpp')
-rw-r--r--3rdparty/unittest-cpp/UnitTest++/TimeConstraint.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/3rdparty/unittest-cpp/UnitTest++/TimeConstraint.cpp b/3rdparty/unittest-cpp/UnitTest++/TimeConstraint.cpp
new file mode 100644
index 00000000000..1c12d8354ff
--- /dev/null
+++ b/3rdparty/unittest-cpp/UnitTest++/TimeConstraint.cpp
@@ -0,0 +1,29 @@
+#include "TimeConstraint.h"
+#include "TestResults.h"
+#include "MemoryOutStream.h"
+#include "CurrentTest.h"
+
+namespace UnitTest {
+
+
+TimeConstraint::TimeConstraint(int ms, TestDetails const& details)
+ : m_details(details)
+ , m_maxMs(ms)
+{
+ m_timer.Start();
+}
+
+TimeConstraint::~TimeConstraint()
+{
+ double const totalTimeInMs = m_timer.GetTimeInMs();
+ if (totalTimeInMs > m_maxMs)
+ {
+ MemoryOutStream stream;
+ stream << "Time constraint failed. Expected to run test under " << m_maxMs <<
+ "ms but took " << totalTimeInMs << "ms.";
+
+ CurrentTest::Results()->OnTestFailure(m_details, stream.GetText());
+ }
+}
+
+}