summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp
diff options
context:
space:
mode:
author ImJezze <jezze@gmx.net>2015-05-30 14:57:13 +0200
committer ImJezze <jezze@gmx.net>2015-05-30 14:57:13 +0200
commitd1d9dfc2d4be85cee8c8c990950d72ee6df78e5e (patch)
tree495d4e5a066ee13be131f08437732b3588d43a42 /3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp
parentfe71f92dd24270ae7c5621166b096c665ca0e4f5 (diff)
parent51709eef04f9f0c6d621447c568e170927fa9472 (diff)
Merge pull request #4 from mamedev/master
Sync to base master
Diffstat (limited to '3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp')
-rw-r--r--3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp b/3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp
new file mode 100644
index 00000000000..5cb6c16f650
--- /dev/null
+++ b/3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp
@@ -0,0 +1,69 @@
+#include "UnitTest++/UnitTestPP.h"
+#include "UnitTest++/TestResults.h"
+#include "UnitTest++/TimeHelpers.h"
+#include "RecordingReporter.h"
+#include "ScopedCurrentTest.h"
+
+using namespace UnitTest;
+
+namespace
+{
+
+TEST(TimeConstraintSucceedsWithFastTest)
+{
+ TestResults result;
+ {
+ ScopedCurrentTest scopedResult(result);
+ TimeConstraint t(200, TestDetails("", "", "", 0));
+ TimeHelpers::SleepMs(5);
+ }
+ CHECK_EQUAL(0, result.GetFailureCount());
+}
+
+TEST(TimeConstraintFailsWithSlowTest)
+{
+ TestResults result;
+ {
+ ScopedCurrentTest scopedResult(result);
+ TimeConstraint t(10, TestDetails("", "", "", 0));
+ TimeHelpers::SleepMs(20);
+ }
+ CHECK_EQUAL(1, result.GetFailureCount());
+}
+
+TEST(TimeConstraintFailureIncludesCorrectData)
+{
+ RecordingReporter reporter;
+ TestResults result(&reporter);
+ {
+ ScopedCurrentTest scopedResult(result);
+
+ TestDetails const details("testname", "suitename", "filename", 10);
+ TimeConstraint t(10, details);
+ TimeHelpers::SleepMs(20);
+ }
+
+ using namespace std;
+
+ CHECK(strstr(reporter.lastFailedFile, "filename"));
+ CHECK_EQUAL(10, reporter.lastFailedLine);
+ CHECK(strstr(reporter.lastFailedTest, "testname"));
+}
+
+TEST(TimeConstraintFailureIncludesTimeoutInformation)
+{
+ RecordingReporter reporter;
+ TestResults result(&reporter);
+ {
+ ScopedCurrentTest scopedResult(result);
+ TimeConstraint t(10, TestDetails("", "", "", 0));
+ TimeHelpers::SleepMs(20);
+ }
+
+ using namespace std;
+
+ CHECK(strstr(reporter.lastFailedMessage, "ime constraint"));
+ CHECK(strstr(reporter.lastFailedMessage, "under 10ms"));
+}
+
+}