about summary refs log tree commit diff
path: root/time/tst-itimer.c
diff options
context:
space:
mode:
Diffstat (limited to 'time/tst-itimer.c')
-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 c6d623cb19..d5492ec375 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
 	{