From ee4adf600bdd3aa60cc0e92a39f2111be0a90bc6 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Wed, 27 May 2015 15:00:06 +0200 Subject: Added library for supporting unit tests (nw) --- 3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp (limited to '3rdparty/unittest-cpp/tests/TestTimeConstraint.cpp') 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")); +} + +} -- cgit v1.2.3-70-g09d2