diff options
author | Julien Duponchelle <julien@duponchelle.info> | 2017-12-19 13:23:17 +0100 |
---|---|---|
committer | Yury Selivanov <yury@magic.io> | 2017-12-19 07:23:17 -0500 |
commit | 319c0345cdd8fddb49d235462e71883f1dd51b99 (patch) | |
tree | 5e684357737be745316522643f1f77da6b05269d /Lib/test/test_asyncio/test_proactor_events.py | |
parent | 36c2c044782997520df7fc5604742a615ccf6b17 (diff) | |
download | cpython-319c0345cdd8fddb49d235462e71883f1dd51b99.tar.gz cpython-319c0345cdd8fddb49d235462e71883f1dd51b99.zip |
bpo-29711: Fix stop_serving in proactor loop kill all listening servers (#431)
Diffstat (limited to 'Lib/test/test_asyncio/test_proactor_events.py')
-rw-r--r-- | Lib/test/test_asyncio/test_proactor_events.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/Lib/test/test_asyncio/test_proactor_events.py b/Lib/test/test_asyncio/test_proactor_events.py index 47ebcad238c..82bff28d7d0 100644 --- a/Lib/test/test_asyncio/test_proactor_events.py +++ b/Lib/test/test_asyncio/test_proactor_events.py @@ -567,10 +567,21 @@ class BaseProactorEventLoopTests(test_utils.TestCase): self.assertTrue(self.sock.close.called) def test_stop_serving(self): - sock = mock.Mock() - self.loop._stop_serving(sock) - self.assertTrue(sock.close.called) - self.proactor._stop_serving.assert_called_with(sock) + sock1 = mock.Mock() + future1 = mock.Mock() + sock2 = mock.Mock() + future2 = mock.Mock() + self.loop._accept_futures = { + sock1.fileno(): future1, + sock2.fileno(): future2 + } + + self.loop._stop_serving(sock1) + self.assertTrue(sock1.close.called) + self.assertTrue(future1.cancel.called) + self.proactor._stop_serving.assert_called_with(sock1) + self.assertFalse(sock2.close.called) + self.assertFalse(future2.cancel.called) if __name__ == '__main__': |