From: Victor Stinner <victor.stinner@gmail.com>
Date: Mon, 3 Feb 2014 22:59:52 +0000 (+0100)
Subject: Oops, undo unwanted changes in test_asyncio: mistakes of my the last sync with
X-Git-Tag: v3.4.0rc1~97
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1703bbbf899da639d75d7300afebb12f5fb2a8c6;p=python

Oops, undo unwanted changes in test_asyncio: mistakes of my the last sync with
Tulip (changeset d7ac90c0463a)
---

diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
index 72f5c8a0b4..1db772331d 100644
--- a/Lib/test/test_asyncio/test_base_events.py
+++ b/Lib/test/test_asyncio/test_base_events.py
@@ -116,17 +116,18 @@ class BaseEventLoopTests(unittest.TestCase):
             self.loop.stop()
 
         self.loop._process_events = unittest.mock.Mock()
-        when = self.loop.time() + 0.1
+        delay = 0.1
+
+        when = self.loop.time() + delay
         self.loop.call_at(when, cb)
         t0 = self.loop.time()
         self.loop.run_forever()
         dt = self.loop.time() - t0
-        self.assertTrue(0.09 <= dt <= 0.9,
-                        # Issue #20452: add more info in case of failure,
-                        # to try to investigate the bug
-                        (dt,
-                         self.loop._granularity,
-                         time.get_clock_info('monotonic')))
+
+        self.assertGreaterEqual(dt, delay - self.loop._granularity, dt)
+        # tolerate a difference of +800 ms because some Python buildbots
+        # are really slow
+        self.assertLessEqual(dt, 0.9, dt)
 
     def test_run_once_in_executor_handle(self):
         def cb():
diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py
index 5158430fce..c11d20f9be 100644
--- a/Lib/test/test_asyncio/test_events.py
+++ b/Lib/test/test_asyncio/test_events.py
@@ -1185,6 +1185,14 @@ class EventLoopTestsMixin:
         calls.append(self.loop._run_once_counter)
         self.assertEqual(calls, [1, 3, 5, 6])
 
+    def test_granularity(self):
+        granularity = self.loop._granularity
+        self.assertGreater(granularity, 0.0)
+        # Worst expected granularity: 1 ms on Linux (limited by poll/epoll
+        # resolution), 15.6 ms on Windows (limited by time.monotonic
+        # resolution)
+        self.assertLess(granularity, 0.050)
+
 
 class SubprocessTestsMixin:
 
diff --git a/Lib/test/test_asyncio/test_windows_events.py b/Lib/test/test_asyncio/test_windows_events.py
index 3c271ebeec..846049a245 100644
--- a/Lib/test/test_asyncio/test_windows_events.py
+++ b/Lib/test/test_asyncio/test_windows_events.py
@@ -105,7 +105,7 @@ class ProactorTests(unittest.TestCase):
         self.loop.run_until_complete(f)
         elapsed = self.loop.time() - start
         self.assertFalse(f.result())
-        self.assertTrue(0.18 < elapsed < 0.5, elapsed)
+        self.assertTrue(0.18 < elapsed < 0.9, elapsed)
 
         _overlapped.SetEvent(event)