diff options
author | Giuliano Procida <gprocida@google.com> | 2021-04-07 14:25:13 +0100 |
---|---|---|
committer | Giuliano Procida <gprocida@google.com> | 2021-04-07 15:14:38 +0100 |
commit | ebc88d26a5548d65b45bbec1091d5573d011cc0d (patch) | |
tree | d9d420d614a2edbc73744443fd0117980f914f56 /tests | |
parent | 99d11ebe83b38837990bb485247d80a5d8659f10 (diff) |
Use mean CPU time in an attempt to reduce test flakiness
The sleep(3) / clock(3) test is sensitive to outliers in the
distribution of CPU consumed by the sleep system call.
This changes the measured quantity to be the mean over 5 samples and
sets the threshold to 10ms.
Bug: 184727758
Change-Id: I20df3b620a5fbf4e58a3ca67306370351ac01d0c
Test: treehugger
Signed-off-by: Giuliano Procida <gprocida@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/time_test.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/time_test.cpp b/tests/time_test.cpp index 7c2c890c6..16299cc52 100644 --- a/tests/time_test.cpp +++ b/tests/time_test.cpp @@ -851,11 +851,15 @@ TEST(time, clock_getres_unknown) { } TEST(time, clock) { - // clock(3) is hard to test, but a 1s sleep should cost less than 20ms. + // clock(3) is hard to test, but a 1s sleep should cost less than 10ms on average. + static const clock_t N = 5; + static const clock_t mean_limit_ms = 10; clock_t t0 = clock(); - sleep(1); + for (size_t i = 0; i < N; ++i) { + sleep(1); + } clock_t t1 = clock(); - ASSERT_LT(t1 - t0, 20 * (CLOCKS_PER_SEC / 1000)); + ASSERT_LT(t1 - t0, N * mean_limit_ms * (CLOCKS_PER_SEC / 1000)); } static pid_t GetInvalidPid() { |