[Python-checkins] test_bsddb3 tolerates smaller timeout on Windows (#2840)

Victor Stinner webhook-mailer at python.org
Mon Jul 24 07:02:02 EDT 2017


https://github.com/python/cpython/commit/0fc940a09ae6636e78f94ecf6436b8de14bd1c45
commit: 0fc940a09ae6636e78f94ecf6436b8de14bd1c45
branch: 2.7
author: Victor Stinner <victor.stinner at gmail.com>
committer: GitHub <noreply at github.com>
date: 2017-07-24T13:01:59+02:00
summary:

test_bsddb3 tolerates smaller timeout on Windows (#2840)

bpo-30850: On Windows, test04_lock_timeout2() now tolerates 50 ms
whereas 100 ms is expected. The lock sometimes times out after only
58 ms. Windows clocks have a bad resolution and bad accuracy.

files:
M Lib/bsddb/test/test_lock.py

diff --git a/Lib/bsddb/test/test_lock.py b/Lib/bsddb/test/test_lock.py
index 0b08aa105a1..22bf8cde7b7 100644
--- a/Lib/bsddb/test/test_lock.py
+++ b/Lib/bsddb/test/test_lock.py
@@ -2,6 +2,7 @@
 TestCases for testing the locking sub-system.
 """
 
+import sys
 import time
 
 import unittest
@@ -10,7 +11,6 @@
 
 if have_threads :
     from threading import Thread
-    import sys
     if sys.version_info[0] < 3 :
         from threading import currentThread
     else :
@@ -129,7 +129,14 @@ def deadlock_detection() :
         end_time=time.time()
         deadlock_detection.end=True
         # Floating point rounding
-        self.assertGreaterEqual(end_time-start_time, 0.0999)
+        if sys.platform == 'win32':
+            # bpo-30850: On Windows, tolerate 50 ms whereas 100 ms is expected.
+            # The lock sometimes times out after only 58 ms. Windows clocks
+            # have a bad resolution and bad accuracy.
+            min_dt = 0.050
+        else:
+            min_dt = 0.0999
+        self.assertGreaterEqual(end_time-start_time, min_dt)
         self.env.lock_put(lock)
         t.join()
 



More information about the Python-checkins mailing list