diff options
| author | Victor Stinner <victor.stinner@gmail.com> | 2015-01-15 12:17:34 (GMT) | 
|---|---|---|
| committer | Victor Stinner <victor.stinner@gmail.com> | 2015-01-15 12:17:34 (GMT) | 
| commit | 33cb0396e86841aa3af033071aa8a00abbdba4d4 (patch) | |
| tree | 797cd23b68055b5df248d6c335e7d86c21cf4cf5 /Lib/test/test_asyncio | |
| parent | 41ed958ee6f0ff15836e11013d1cada8c3ae90fc (diff) | |
| download | cpython-33cb0396e86841aa3af033071aa8a00abbdba4d4.zip cpython-33cb0396e86841aa3af033071aa8a00abbdba4d4.tar.gz cpython-33cb0396e86841aa3af033071aa8a00abbdba4d4.tar.bz2 | |
Issue #23243: Close explicitly event loops in asyncio tests
Diffstat (limited to 'Lib/test/test_asyncio')
| -rw-r--r-- | Lib/test/test_asyncio/test_base_events.py | 1 | ||||
| -rw-r--r-- | Lib/test/test_asyncio/test_proactor_events.py | 4 | ||||
| -rw-r--r-- | Lib/test/test_asyncio/test_selector_events.py | 16 | 
3 files changed, 20 insertions, 1 deletions
| diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py index bd6c0d8..9e7c50c 100644 --- a/Lib/test/test_asyncio/test_base_events.py +++ b/Lib/test/test_asyncio/test_base_events.py @@ -590,6 +590,7 @@ class BaseEventLoopTests(test_utils.TestCase):                  raise ValueError('spam')          loop = Loop() +        self.addCleanup(loop.close)          asyncio.set_event_loop(loop)          def run_loop(): diff --git a/Lib/test/test_asyncio/test_proactor_events.py b/Lib/test/test_asyncio/test_proactor_events.py index 8258238..08c622a 100644 --- a/Lib/test/test_asyncio/test_proactor_events.py +++ b/Lib/test/test_asyncio/test_proactor_events.py @@ -16,6 +16,7 @@ class ProactorSocketTransportTests(test_utils.TestCase):      def setUp(self):          self.loop = self.new_test_loop() +        self.addCleanup(self.loop.close)          self.proactor = mock.Mock()          self.loop._proactor = self.proactor          self.protocol = test_utils.make_test_protocol(asyncio.Protocol) @@ -459,6 +460,9 @@ class BaseProactorEventLoopTests(test_utils.TestCase):          self.assertIsNone(self.loop._ssock)          self.assertIsNone(self.loop._csock) +        # Don't call close(): _close_self_pipe() cannot be called twice +        self.loop._closed = True +      def test_close(self):          self.loop._close_self_pipe = mock.Mock()          self.loop.close() diff --git a/Lib/test/test_asyncio/test_selector_events.py b/Lib/test/test_asyncio/test_selector_events.py index 3e8392e..f519419 100644 --- a/Lib/test/test_asyncio/test_selector_events.py +++ b/Lib/test/test_asyncio/test_selector_events.py @@ -24,6 +24,11 @@ MOCK_ANY = mock.ANY  class TestBaseSelectorEventLoop(BaseSelectorEventLoop): +    def close(self): +        # Don't call the close() method of the parent class, because the +        # selector is mocked +        self._closed = True +      def _make_self_pipe(self):          self._ssock = mock.Mock()          self._csock = mock.Mock() @@ -40,7 +45,7 @@ class BaseSelectorEventLoopTests(test_utils.TestCase):          self.selector = mock.Mock()          self.selector.select.return_value = []          self.loop = TestBaseSelectorEventLoop(self.selector) -        self.set_event_loop(self.loop, cleanup=False) +        self.set_event_loop(self.loop)      def test_make_socket_transport(self):          m = mock.Mock() @@ -76,6 +81,15 @@ class BaseSelectorEventLoopTests(test_utils.TestCase):              self.loop._make_ssl_transport(m, m, m, m)      def test_close(self): +        class EventLoop(BaseSelectorEventLoop): +            def _make_self_pipe(self): +                self._ssock = mock.Mock() +                self._csock = mock.Mock() +                self._internal_fds += 1 + +        self.loop = EventLoop(self.selector) +        self.set_event_loop(self.loop) +          ssock = self.loop._ssock          ssock.fileno.return_value = 7          csock = self.loop._csock | 
