diff options
-rw-r--r-- | time/tst-itimer.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/time/tst-itimer.c b/time/tst-itimer.c index c6d623c..d5492ec 100644 --- a/time/tst-itimer.c +++ b/time/tst-itimer.c @@ -74,7 +74,9 @@ do_test (void) else { TEST_COMPARE (it_old.it_interval.tv_sec, 10); - TEST_COMPARE (it_old.it_interval.tv_usec, 20); + /* Some systems might use a different precision for ITIMER_VIRTUAL + and ITIMER_IPROF and thus the value might be adjusted. To avoid + trying to guess the resolution, we do not check it. */ } /* Create a periodic timer and check if the return value is the one @@ -88,7 +90,8 @@ do_test (void) TEST_COMPARE (setitimer (timers[i], &(struct itimerval) { 0 }, &it_old), 0); TEST_COMPARE (it.it_interval.tv_sec, it_old.it_interval.tv_sec); - TEST_COMPARE (it.it_interval.tv_usec, it_old.it_interval.tv_usec); + if (timers[i] == ITIMER_REAL) + TEST_COMPARE (it.it_interval.tv_usec, it_old.it_interval.tv_usec); if (sizeof (time_t) == 4) continue; @@ -114,11 +117,6 @@ do_test (void) TEST_COMPARE (it_old.it_interval.tv_sec, 0ull); TEST_COMPARE (it_old.it_interval.tv_usec, 0); } - else - { - TEST_COMPARE (it_old.it_interval.tv_sec, 0x1ffffffffull); - TEST_COMPARE (it_old.it_interval.tv_usec, 20); - } } else { @@ -139,8 +137,11 @@ do_test (void) TEST_COMPARE (setitimer (timers[i], &(struct itimerval) { 0 }, &it_old), 0); - TEST_COMPARE (it.it_interval.tv_sec, it_old.it_interval.tv_sec); - TEST_COMPARE (it.it_interval.tv_usec, it_old.it_interval.tv_usec); + if (timers[i] == ITIMER_REAL) + { + TEST_COMPARE (it.it_interval.tv_sec, it_old.it_interval.tv_sec); + TEST_COMPARE (it.it_interval.tv_usec, it_old.it_interval.tv_usec); + } } else { |