Opened 12 years ago

Last modified 12 years ago

#19355 closed Bug

LiveServerThread handles caught exceptions incorrectly — at Initial Version

Reported by: flub@… Owned by: nobody
Component: Testing framework Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: no

Description

In django.test.testcases.LiveServerThread.run a WSGIServerException is caught and the code expects it to have an errno attribute. However not WSGIServerException is a subclass of Exception and thus not guaranteed to have the errno attribute. The following short patch avoids this problem:

diff --git a/django/test/testcases.py b/django/test/testcases.py
index 3bb40a5..ef4c8118 100644
--- a/django/test/testcases.py
+++ b/django/test/testcases.py
@@ -1022,7 +1022,7 @@ class LiveServerThread(threading.Thread):

(self.host, port), QuietWSGIRequestHandler)

except WSGIServerException as e:

if (index + 1 < len(self.possible_ports) and

  • e.args[0].errno == errno.EADDRINUSE):

+ getattr(e.args[0], 'errno', 0) == errno.EADDRINUSE):

# This port is already in use, so we go on and try with
# the next one in the list.
continue

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top