aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--time/tst-itimer.c19
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
{