From 2ca9193c8570eaa46b19eb9a050ec818147e1352 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Sun, 30 Oct 2016 21:21:07 -0400 Subject: [PATCH] still not robust enough (Criterion cr_assert_ calls show high latency :-S) --- tests/timing.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/timing.c b/tests/timing.c index 92974d1be..89866c07f 100644 --- a/tests/timing.c +++ b/tests/timing.c @@ -7,6 +7,7 @@ *********************************************************************************/ #include +#include #include #include "timing.h" @@ -88,7 +89,8 @@ Test(timing, timerfd_create_rate, .timeout = 20) timerfd_wait(tfd); - for (int i = 0; i < 10; i++) { + int i; + for (i = 0; i < 10; i++) { start = time_now(); timerfd_wait(tfd); @@ -96,9 +98,13 @@ Test(timing, timerfd_create_rate, .timeout = 20) end = time_now(); waited = time_delta(&start, &end); - cr_assert_float_eq(waited, 1.0 / rate, 10e-3, "We slept for %f instead of %f secs in round %d", waited, 1.0 / rate, i); + if (fabs(waited - 1.0 / rate) > 10e-3) + break; } + if (i < 10) + cr_assert_float_eq(waited, 1.0 / rate, 10e-3, "We slept for %f instead of %f secs in round %d", waited, 1.0 / rate, i); + close(tfd); }