Make timing test cases more lenient

This commit is contained in:
Sebastian Messmer 2015-11-12 15:39:52 -08:00
parent 978e7dbc46
commit 90ea7be899

View File

@ -20,48 +20,48 @@ public:
}; };
TEST_F(CallAfterTimeoutTest, NoReset_1) { TEST_F(CallAfterTimeoutTest, NoReset_1) {
auto obj = callAfterTimeout(milliseconds(50)); auto obj = callAfterTimeout(milliseconds(100));
sleep_for(milliseconds(40)); sleep_for(milliseconds(50));
EXPECT_FALSE(called); EXPECT_FALSE(called);
sleep_for(milliseconds(20)); sleep_for(milliseconds(100));
EXPECT_TRUE(called); EXPECT_TRUE(called);
} }
TEST_F(CallAfterTimeoutTest, NoReset_2) { TEST_F(CallAfterTimeoutTest, NoReset_2) {
auto obj = callAfterTimeout(milliseconds(100)); auto obj = callAfterTimeout(milliseconds(200));
sleep_for(milliseconds(90)); sleep_for(milliseconds(150));
EXPECT_FALSE(called); EXPECT_FALSE(called);
sleep_for(milliseconds(20)); sleep_for(milliseconds(100));
EXPECT_TRUE(called); EXPECT_TRUE(called);
} }
TEST_F(CallAfterTimeoutTest, DoesntCallTwice) { TEST_F(CallAfterTimeoutTest, DoesntCallTwice) {
auto obj = callAfterTimeout(milliseconds(50)); auto obj = callAfterTimeout(milliseconds(50));
sleep_for(milliseconds(60)); sleep_for(milliseconds(100));
EXPECT_TRUE(called); EXPECT_TRUE(called);
called = false; called = false;
sleep_for(milliseconds(60)); sleep_for(milliseconds(100));
EXPECT_FALSE(called); EXPECT_FALSE(called);
} }
TEST_F(CallAfterTimeoutTest, OneReset) { TEST_F(CallAfterTimeoutTest, OneReset) {
auto obj = callAfterTimeout(milliseconds(50)); auto obj = callAfterTimeout(milliseconds(100));
sleep_for(milliseconds(40)); sleep_for(milliseconds(75));
obj->resetTimer(); obj->resetTimer();
sleep_for(milliseconds(40)); sleep_for(milliseconds(75));
EXPECT_FALSE(called); EXPECT_FALSE(called);
sleep_for(milliseconds(20)); sleep_for(milliseconds(75));
EXPECT_TRUE(called); EXPECT_TRUE(called);
} }
TEST_F(CallAfterTimeoutTest, TwoResets) { TEST_F(CallAfterTimeoutTest, TwoResets) {
auto obj = callAfterTimeout(milliseconds(50)); auto obj = callAfterTimeout(milliseconds(100));
sleep_for(milliseconds(20)); sleep_for(milliseconds(50));
obj->resetTimer(); obj->resetTimer();
sleep_for(milliseconds(40)); sleep_for(milliseconds(75));
obj->resetTimer(); obj->resetTimer();
sleep_for(milliseconds(40)); sleep_for(milliseconds(75));
EXPECT_FALSE(called); EXPECT_FALSE(called);
sleep_for(milliseconds(20)); sleep_for(milliseconds(75));
EXPECT_TRUE(called); EXPECT_TRUE(called);
} }