From: Victor Stinner Date: Mon, 24 Jul 2017 11:01:59 +0000 (+0200) Subject: test_bsddb3 tolerates smaller timeout on Windows (#2840) X-Git-Tag: v2.7.14rc1~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0fc940a09ae6636e78f94ecf6436b8de14bd1c45;p=python 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. --- diff --git a/Lib/bsddb/test/test_lock.py b/Lib/bsddb/test/test_lock.py index 0b08aa105a..22bf8cde7b 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 @@ from test_all import db, test_support, verbose, have_threads, \ if have_threads : from threading import Thread - import sys if sys.version_info[0] < 3 : from threading import currentThread else : @@ -129,7 +129,14 @@ class LockingTestCase(unittest.TestCase): 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()