[Python-checkins] cpython (merge 3.4 -> default): (Merge 3.4) asyncio: Refactor test__run_once_logging() to not rely on the exact

victor.stinner python-checkins at python.org
Wed Jun 18 01:23:13 CEST 2014


http://hg.python.org/cpython/rev/538b5538eac2
changeset:   91258:538b5538eac2
parent:      91256:0773c3c69844
parent:      91257:86f4a3a13fa7
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Wed Jun 18 01:22:31 2014 +0200
summary:
  (Merge 3.4) asyncio: Refactor test__run_once_logging() to not rely on the exact
number of calls to time.monotonic(). Use a "fast select" and a "slow select"
instead.

files:
  Lib/test/test_asyncio/test_base_events.py |  29 ++++------
  1 files changed, 11 insertions(+), 18 deletions(-)


diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
--- a/Lib/test/test_asyncio/test_base_events.py
+++ b/Lib/test/test_asyncio/test_base_events.py
@@ -240,30 +240,23 @@
         self.loop.set_debug(False)
         self.assertFalse(self.loop.get_debug())
 
-    @mock.patch('asyncio.base_events.time')
     @mock.patch('asyncio.base_events.logger')
-    def test__run_once_logging(self, m_logger, m_time):
+    def test__run_once_logging(self, m_logger):
+        def slow_select(timeout):
+            time.sleep(1.0)
+            return []
+
         # Log to INFO level if timeout > 1.0 sec.
-        idx = -1
-        data = [10.0, 10.0, 12.0, 13.0]
-
-        def monotonic():
-            nonlocal data, idx
-            idx += 1
-            return data[idx]
-
-        m_time.monotonic = monotonic
-
-        self.loop._scheduled.append(
-            asyncio.TimerHandle(11.0, lambda: True, (), self.loop))
+        self.loop._selector.select = slow_select
         self.loop._process_events = mock.Mock()
         self.loop._run_once()
         self.assertEqual(logging.INFO, m_logger.log.call_args[0][0])
 
-        idx = -1
-        data = [10.0, 10.0, 10.3, 13.0]
-        self.loop._scheduled = [asyncio.TimerHandle(11.0, lambda: True, (),
-                                                    self.loop)]
+        def fast_select(timeout):
+            time.sleep(0.001)
+            return []
+
+        self.loop._selector.select = fast_select
         self.loop._run_once()
         self.assertEqual(logging.DEBUG, m_logger.log.call_args[0][0])
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list