diff options
-rw-r--r-- | Lib/test/test_support.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py index 048c527..d97e150 100644 --- a/Lib/test/test_support.py +++ b/Lib/test/test_support.py @@ -630,13 +630,15 @@ class TransientResource(object): raise ResourceDenied("an optional resource is not available") +@contextlib.contextmanager def transient_internet(): """Return a context manager that raises ResourceDenied when various issues with the Internet connection manifest themselves as exceptions.""" time_out = TransientResource(IOError, errno=errno.ETIMEDOUT) socket_peer_reset = TransientResource(socket.error, errno=errno.ECONNRESET) ioerror_peer_reset = TransientResource(IOError, errno=errno.ECONNRESET) - return contextlib.nested(time_out, socket_peer_reset, ioerror_peer_reset) + with time_out, socket_peer_reset, ioerror_peer_reset: + yield @contextlib.contextmanager |