8000 bpo-33723: Fix test_time.test_thread_time() by vstinner · Pull Request #8267 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
bpo-33723: Fix test_time.test_thread_time()
The test failed on AMD64 Debian root 3.x buildbot because the busy
loop of 100 ms only increased time.thread_time() by 19.9 ms which is
smaller than 20 ms. Modify the test to tolerate a delta of at least
15 ms instead of 20 ms.
  • Loading branch information
vstinner committed Jul 12, 2018
commit e823c5b9067434bdc6a777e43ac53d53aa398adc
13 changes: 9 additions & 4 deletions Lib/test/test_time.py
Original file line number Diff line number Diff line change
Expand Up @@ -529,19 +529,24 @@ def test_thread_time(self):
# 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
min_time = 0.015
busy_time = 0.100

# thread_time() should include CPU time spent in current thread...
start = time.thread_time()
busy_wait(0.100)
busy_wait(busy_time)
stop = time.thread_time()
self.assertGreaterEqual(stop - start, 0.020) # machine busy?
self.assertGreaterEqual(stop - start, min_time)

# ...but not in other threads
t = threading.Thread(target=busy_wait, args=(0.100,))
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, 0.020)
self.assertLess(stop - start, min_time)

info = time.get_clock_info('thread_time')
self.assertTrue(info.monotonic)
Expand Down
0