Skip to content

Commit c1ccb72

Browse files
authored
Fix rclcpp timeout subscriber test. (#440)
* Use nonzero lower bound for timeout checks. * Relax time tolerance. Signed-off-by: Michel Hidalgo <[email protected]>
1 parent fbe9c1f commit c1ccb72

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

test_rclcpp/test/test_timeout_subscriber.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ TEST(CLASSNAME(test_timeout_subscriber, RMW_IMPLEMENTATION), timeout_subscriber)
4848
size_t num_cycles = 5;
4949

5050
for (size_t i = 0; i < num_cycles; ++i) {
51-
auto tolerance = std::chrono::milliseconds(15);
51+
auto tolerance = std::chrono::milliseconds(20);
5252

5353
// ensure that the non-blocking spin does return immediately
5454
auto nonblocking_start = std::chrono::steady_clock::now();
@@ -65,6 +65,9 @@ TEST(CLASSNAME(test_timeout_subscriber, RMW_IMPLEMENTATION), timeout_subscriber)
6565
executor.spin_node_once(node, blocking_timeout);
6666
auto blocking_end = std::chrono::steady_clock::now();
6767
auto blocking_diff = blocking_end - blocking_start;
68+
EXPECT_GT(
69+
std::chrono::duration_cast<std::chrono::nanoseconds>(blocking_diff).count(),
70+
std::chrono::duration_cast<std::chrono::nanoseconds>(blocking_timeout - tolerance).count());
6871
EXPECT_LT(
6972
std::chrono::duration_cast<std::chrono::nanoseconds>(blocking_diff).count(),
7073
std::chrono::duration_cast<std::chrono::nanoseconds>(blocking_timeout + tolerance).count());

0 commit comments

Comments
 (0)