[Python-checkins] bpo-41804: Enhance test_epoll.test_control_and_wait() (GH-23795)

vstinner webhook-mailer at python.org
Wed Dec 16 05:16:35 EST 2020


https://github.com/python/cpython/commit/79782fe4f8cf73d7fdf8db02073bbadf7ff817b6
commit: 79782fe4f8cf73d7fdf8db02073bbadf7ff817b6
branch: master
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2020-12-16T11:16:25+01:00
summary:

bpo-41804: Enhance test_epoll.test_control_and_wait() (GH-23795)

Use shorter timeout and replace send() with sendall().

files:
M Lib/test/test_epoll.py

diff --git a/Lib/test/test_epoll.py b/Lib/test/test_epoll.py
index 10f148fe5cdb4..b623852f9eb4e 100644
--- a/Lib/test/test_epoll.py
+++ b/Lib/test/test_epoll.py
@@ -160,44 +160,42 @@ def test_fromfd(self):
             self.fail("epoll on closed fd didn't raise EBADF")
 
     def test_control_and_wait(self):
+        # create the epoll object
         client, server = self._connected_pair()
-
         ep = select.epoll(16)
         ep.register(server.fileno(),
                     select.EPOLLIN | select.EPOLLOUT | select.EPOLLET)
         ep.register(client.fileno(),
                     select.EPOLLIN | select.EPOLLOUT | select.EPOLLET)
 
+        # EPOLLOUT
         now = time.monotonic()
         events = ep.poll(1, 4)
         then = time.monotonic()
         self.assertFalse(then - now > 0.1, then - now)
 
-        events.sort()
         expected = [(client.fileno(), select.EPOLLOUT),
                     (server.fileno(), select.EPOLLOUT)]
-        expected.sort()
-
-        self.assertEqual(events, expected)
+        self.assertEqual(sorted(events), sorted(expected))
 
-        events = ep.poll(timeout=2.1, maxevents=4)
+        # no event
+        events = ep.poll(timeout=0.1, maxevents=4)
         self.assertFalse(events)
 
-        client.send(b"Hello!")
-        server.send(b"world!!!")
+        # send: EPOLLIN and EPOLLOUT
+        client.sendall(b"Hello!")
+        server.sendall(b"world!!!")
 
         now = time.monotonic()
-        events = ep.poll(1, 4)
+        events = ep.poll(1.0, 4)
         then = time.monotonic()
         self.assertFalse(then - now > 0.01)
 
-        events.sort()
         expected = [(client.fileno(), select.EPOLLIN | select.EPOLLOUT),
                     (server.fileno(), select.EPOLLIN | select.EPOLLOUT)]
-        expected.sort()
-
-        self.assertEqual(events, expected)
+        self.assertEqual(sorted(events), sorted(expected))
 
+        # unregister, modify
         ep.unregister(client.fileno())
         ep.modify(server.fileno(), select.EPOLLOUT)
         now = time.monotonic()



More information about the Python-checkins mailing list