]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-33723: Remove busy loop from test_time (GH-10773)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 28 Nov 2018 17:58:31 +0000 (09:58 -0800)
committerGitHub <noreply@github.com>
Wed, 28 Nov 2018 17:58:31 +0000 (09:58 -0800)
The "busy loops" of test_process_time() and test_thread_time() are
not reliable and fail randomly on Windows: remove them.
(cherry picked from commit 48498dd57f79ab1d061c754ad6a2ebe1a7172b0e)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
Lib/test/test_time.py

index b9c678640808f301ef477dffb2478fb4c452c220..ea455c0d0d1300f434ee46119393c67ee4b0be35 100644 (file)
@@ -47,12 +47,6 @@ ROUNDING_MODES = (
 )
 
 
-def busy_wait(duration):
-    deadline = time.monotonic() + duration
-    while time.monotonic() < deadline:
-        pass
-
-
 class TimeTestCase(unittest.TestCase):
 
     def setUp(self):
@@ -496,25 +490,6 @@ class TimeTestCase(unittest.TestCase):
         # on Windows
         self.assertLess(stop - start, 0.020)
 
-        # bpo-33723: A busy loop of 100 ms should increase process_time()
-        # by at least 15 ms. Tolerate 15 ms because of the bad resolution of
-        # the clock on Windows (around 15.6 ms).
-        min_time = 0.015
-        busy_time = 0.100
-
-        # process_time() should include CPU time spent in any thread
-        start = time.process_time()
-        busy_wait(busy_time)
-        stop = time.process_time()
-        self.assertGreaterEqual(stop - start, min_time)
-
-        t = threading.Thread(target=busy_wait, args=(busy_time,))
-        start = time.process_time()
-        t.start()
-        t.join()
-        stop = time.process_time()
-        self.assertGreaterEqual(stop - start, min_time)
-
         info = time.get_clock_info('process_time')
         self.assertTrue(info.monotonic)
         self.assertFalse(info.adjustable)
@@ -535,28 +510,6 @@ class TimeTestCase(unittest.TestCase):
         # on Windows
         self.assertLess(stop - start, 0.020)
 
-        # bpo-33723: A busy loop of 100 ms should increase thread_time()
-        # by at least 15 ms, but less than 30 ms in other threads.
-        # Tolerate 15 and 30 ms because of the bad resolution
-        # of the clock on Windows (around 15.6 ms).
-        min_time = 0.015
-        max_time = 0.030
-        busy_time = 0.100
-
-        # thread_time() should include CPU time spent in current thread...
-        start = time.thread_time()
-        busy_wait(busy_time)
-        stop = time.thread_time()
-        self.assertGreaterEqual(stop - start, min_time)
-
-        # ...but not in other threads
-        t = threading.Thread(target=busy_wait, args=(busy_time,))
-        start = time.thread_time()
-        t.start()
-        t.join()
-        stop = time.thread_time()
-        self.assertLess(stop - start, max_time)
-
         info = time.get_clock_info('thread_time')
         self.assertTrue(info.monotonic)
         self.assertFalse(info.adjustable)