]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-110697: Use CLOCK_RES in test_os.TimerfdTests (#111529)
authorVictor Stinner <vstinner@python.org>
Mon, 30 Oct 2023 22:47:59 +0000 (23:47 +0100)
committerGitHub <noreply@github.com>
Mon, 30 Oct 2023 22:47:59 +0000 (22:47 +0000)
More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.

Lib/test/test_os.py

index c23de4dbe2b636f04a8a4f76bcf4bcdb7981f70f..22e40d9557be7c535e39ecb83464ec2ee9b42783 100644 (file)
@@ -4029,7 +4029,7 @@ class TimerfdTests(unittest.TestCase):
         t = time.perf_counter() - t
 
         total_time = initial_expiration + interval * (count - 1)
-        self.assertGreater(t, total_time)
+        self.assertGreater(t, total_time - self.CLOCK_RES)
 
         # wait 3.5 time of interval
         time.sleep( (count+0.5) * interval)
@@ -4083,7 +4083,7 @@ class TimerfdTests(unittest.TestCase):
         t = time.perf_counter() - t
 
         total_time = initial_expiration + interval * (count - 1)
-        self.assertGreater(t, total_time)
+        self.assertGreater(t, total_time - self.CLOCK_RES)
 
     def check_timerfd_poll(self, nanoseconds):
         fd = self.timerfd_create(time.CLOCK_REALTIME, flags=os.TFD_NONBLOCK)
@@ -4129,10 +4129,10 @@ class TimerfdTests(unittest.TestCase):
         total_time = initial_expiration_ns + interval_ns * (count - 1)
         if nanoseconds:
             dt = time.perf_counter_ns() - t
-            self.assertGreater(dt, total_time)
+            self.assertGreater(dt, total_time - self.CLOCK_RES_NS)
         else:
             dt = time.perf_counter() - t
-            self.assertGreater(dt, total_time / sec_to_nsec)
+            self.assertGreater(dt, total_time / sec_to_nsec - self.CLOCK_RES)
         selector.unregister(fd)
 
     def test_timerfd_poll(self):
@@ -4189,7 +4189,7 @@ class TimerfdTests(unittest.TestCase):
         t = time.perf_counter_ns() - t
 
         total_time_ns = initial_expiration_ns + interval_ns * (count - 1)
-        self.assertGreater(t, total_time_ns)
+        self.assertGreater(t, total_time_ns - self.CLOCK_RES_NS)
 
         # wait 3.5 time of interval
         time.sleep( (count+0.5) * interval_ns / one_sec_in_nsec)
@@ -4248,7 +4248,7 @@ class TimerfdTests(unittest.TestCase):
         t = time.perf_counter_ns() - t
 
         total_time_ns = initial_expiration_ns + interval_ns * (count - 1)
-        self.assertGreater(t, total_time_ns)
+        self.assertGreater(t, total_time_ns - self.CLOCK_RES_NS)
 
 class OSErrorTests(unittest.TestCase):
     def setUp(self):