|
@@ -113,15 +113,22 @@ class WSGIServerTestCase(SimpleTestCase):
|
|
|
request = WSGIRequest(self.request_factory.get('/').environ)
|
|
|
client_address = ('192.168.2.0', 8080)
|
|
|
msg = f'- Broken pipe from {client_address}\n'
|
|
|
- try:
|
|
|
- server = WSGIServer(('localhost', 0), WSGIRequestHandler)
|
|
|
- try:
|
|
|
- raise BrokenPipeError()
|
|
|
- except Exception:
|
|
|
- with captured_stderr() as err:
|
|
|
- with self.assertLogs('django.server', 'INFO') as cm:
|
|
|
- server.handle_error(request, client_address)
|
|
|
- self.assertEqual(err.getvalue(), '')
|
|
|
- self.assertEqual(cm.records[0].getMessage(), msg)
|
|
|
- finally:
|
|
|
- server.server_close()
|
|
|
+ tests = [
|
|
|
+ BrokenPipeError,
|
|
|
+ ConnectionAbortedError,
|
|
|
+ ConnectionResetError,
|
|
|
+ ]
|
|
|
+ for exception in tests:
|
|
|
+ with self.subTest(exception=exception):
|
|
|
+ try:
|
|
|
+ server = WSGIServer(('localhost', 0), WSGIRequestHandler)
|
|
|
+ try:
|
|
|
+ raise exception()
|
|
|
+ except Exception:
|
|
|
+ with captured_stderr() as err:
|
|
|
+ with self.assertLogs('django.server', 'INFO') as cm:
|
|
|
+ server.handle_error(request, client_address)
|
|
|
+ self.assertEqual(err.getvalue(), '')
|
|
|
+ self.assertEqual(cm.records[0].getMessage(), msg)
|
|
|
+ finally:
|
|
|
+ server.server_close()
|