1*2f083884Ss.makeev_local #include "UnitTest++/UnitTestPP.h"
2*2f083884Ss.makeev_local #include "UnitTest++/TestResults.h"
3*2f083884Ss.makeev_local #include "UnitTest++/TimeHelpers.h"
4*2f083884Ss.makeev_local #include "RecordingReporter.h"
5*2f083884Ss.makeev_local #include "ScopedCurrentTest.h"
6*2f083884Ss.makeev_local
7*2f083884Ss.makeev_local using namespace UnitTest;
8*2f083884Ss.makeev_local
9*2f083884Ss.makeev_local namespace
10*2f083884Ss.makeev_local {
11*2f083884Ss.makeev_local
TEST(TimeConstraintSucceedsWithFastTest)12*2f083884Ss.makeev_local TEST(TimeConstraintSucceedsWithFastTest)
13*2f083884Ss.makeev_local {
14*2f083884Ss.makeev_local TestResults result;
15*2f083884Ss.makeev_local {
16*2f083884Ss.makeev_local ScopedCurrentTest scopedResult(result);
17*2f083884Ss.makeev_local TimeConstraint t(200, TestDetails("", "", "", 0));
18*2f083884Ss.makeev_local TimeHelpers::SleepMs(5);
19*2f083884Ss.makeev_local }
20*2f083884Ss.makeev_local CHECK_EQUAL(0, result.GetFailureCount());
21*2f083884Ss.makeev_local }
22*2f083884Ss.makeev_local
TEST(TimeConstraintFailsWithSlowTest)23*2f083884Ss.makeev_local TEST(TimeConstraintFailsWithSlowTest)
24*2f083884Ss.makeev_local {
25*2f083884Ss.makeev_local TestResults result;
26*2f083884Ss.makeev_local {
27*2f083884Ss.makeev_local ScopedCurrentTest scopedResult(result);
28*2f083884Ss.makeev_local TimeConstraint t(10, TestDetails("", "", "", 0));
29*2f083884Ss.makeev_local TimeHelpers::SleepMs(20);
30*2f083884Ss.makeev_local }
31*2f083884Ss.makeev_local CHECK_EQUAL(1, result.GetFailureCount());
32*2f083884Ss.makeev_local }
33*2f083884Ss.makeev_local
TEST(TimeConstraintFailureIncludesCorrectData)34*2f083884Ss.makeev_local TEST(TimeConstraintFailureIncludesCorrectData)
35*2f083884Ss.makeev_local {
36*2f083884Ss.makeev_local RecordingReporter reporter;
37*2f083884Ss.makeev_local TestResults result(&reporter);
38*2f083884Ss.makeev_local {
39*2f083884Ss.makeev_local ScopedCurrentTest scopedResult(result);
40*2f083884Ss.makeev_local
41*2f083884Ss.makeev_local TestDetails const details("testname", "suitename", "filename", 10);
42*2f083884Ss.makeev_local TimeConstraint t(10, details);
43*2f083884Ss.makeev_local TimeHelpers::SleepMs(20);
44*2f083884Ss.makeev_local }
45*2f083884Ss.makeev_local
46*2f083884Ss.makeev_local using namespace std;
47*2f083884Ss.makeev_local
48*2f083884Ss.makeev_local CHECK(strstr(reporter.lastFailedFile, "filename"));
49*2f083884Ss.makeev_local CHECK_EQUAL(10, reporter.lastFailedLine);
50*2f083884Ss.makeev_local CHECK(strstr(reporter.lastFailedTest, "testname"));
51*2f083884Ss.makeev_local }
52*2f083884Ss.makeev_local
TEST(TimeConstraintFailureIncludesTimeoutInformation)53*2f083884Ss.makeev_local TEST(TimeConstraintFailureIncludesTimeoutInformation)
54*2f083884Ss.makeev_local {
55*2f083884Ss.makeev_local RecordingReporter reporter;
56*2f083884Ss.makeev_local TestResults result(&reporter);
57*2f083884Ss.makeev_local {
58*2f083884Ss.makeev_local ScopedCurrentTest scopedResult(result);
59*2f083884Ss.makeev_local TimeConstraint t(10, TestDetails("", "", "", 0));
60*2f083884Ss.makeev_local TimeHelpers::SleepMs(20);
61*2f083884Ss.makeev_local }
62*2f083884Ss.makeev_local
63*2f083884Ss.makeev_local using namespace std;
64*2f083884Ss.makeev_local
65*2f083884Ss.makeev_local CHECK(strstr(reporter.lastFailedMessage, "ime constraint"));
66*2f083884Ss.makeev_local CHECK(strstr(reporter.lastFailedMessage, "under 10ms"));
67*2f083884Ss.makeev_local }
68*2f083884Ss.makeev_local
69*2f083884Ss.makeev_local }
70