diff options
| author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2017-01-13 20:45:56 +0100 | 
|---|---|---|
| committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2017-01-13 20:50:48 +0100 | 
| commit | 81c9112a305d484627e666624434dc9f9cce17e7 (patch) | |
| tree | 5c17bdb2879871b7b17ca0308e465405730f2590 /src/ipcpd/tests | |
| parent | 3ad7ee0c378e528fab7277daa9427eda562f08b4 (diff) | |
| download | ouroboros-81c9112a305d484627e666624434dc9f9cce17e7.tar.gz ouroboros-81c9112a305d484627e666624434dc9f9cce17e7.zip | |
ipcpd: Fix timerwheel test
Sometimes the timerwheel test could fail because of scheduler timings
(an issue more apparent in Virtual Machines). When the first check
fails, the test will wait for another complete round of the
timerwheel.  The maximum number of slots in the test is reduced to
reduce the test time.
Diffstat (limited to 'src/ipcpd/tests')
| -rw-r--r-- | src/ipcpd/tests/timerwheel_test.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/src/ipcpd/tests/timerwheel_test.c b/src/ipcpd/tests/timerwheel_test.c index 486358f9..1ace1371 100644 --- a/src/ipcpd/tests/timerwheel_test.c +++ b/src/ipcpd/tests/timerwheel_test.c @@ -25,7 +25,7 @@  #include <time.h>  #include <stdlib.h> -#define MAX_ELEMENTS   500 +#define MAX_ELEMENTS   100  #define MAX_RESOLUTION 10  /* ms */  #define MAX_ADDITIONS  1000 @@ -87,6 +87,10 @@ int timerwheel_test(int argc, char ** argv)          nanosleep(&wait, NULL); +        /* On some systems and VMs, the scheduler may be too slow. */ +        if (total != check_total) +                nanosleep(&wait, NULL); +          timerwheel_destroy(tw);          if (total != check_total) { | 
