mirror of https://github.com/python/cpython
socket.error doesn't have a headers attribute like ProtocolError.
Handle that situation where we catch socket.errors.
This commit is contained in:
parent
5b25bc0598
commit
cf25eb14af
|
@ -397,7 +397,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
# [ch] The test 404 is causing lots of false alarms.
|
# [ch] The test 404 is causing lots of false alarms.
|
||||||
def XXXtest_404(self):
|
def XXXtest_404(self):
|
||||||
|
@ -423,7 +423,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_introspection2(self):
|
def test_introspection2(self):
|
||||||
try:
|
try:
|
||||||
|
@ -435,7 +435,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_introspection3(self):
|
def test_introspection3(self):
|
||||||
try:
|
try:
|
||||||
|
@ -447,7 +447,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_introspection4(self):
|
def test_introspection4(self):
|
||||||
# the SimpleXMLRPCServer doesn't support signatures, but
|
# the SimpleXMLRPCServer doesn't support signatures, but
|
||||||
|
@ -460,7 +460,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_multicall(self):
|
def test_multicall(self):
|
||||||
try:
|
try:
|
||||||
|
@ -477,7 +477,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_non_existing_multicall(self):
|
def test_non_existing_multicall(self):
|
||||||
try:
|
try:
|
||||||
|
@ -498,7 +498,7 @@ class SimpleServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_dotted_attribute(self):
|
def test_dotted_attribute(self):
|
||||||
# this will raise AttirebuteError because code don't want us to use
|
# this will raise AttirebuteError because code don't want us to use
|
||||||
|
@ -553,7 +553,7 @@ class FailingServerTestCase(unittest.TestCase):
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e):
|
||||||
# protocol error; provide additional information in test output
|
# protocol error; provide additional information in test output
|
||||||
self.fail("%s\n%s" % (e, e.headers))
|
self.fail("%s\n%s" % (e, getattr(e, "headers", "")))
|
||||||
|
|
||||||
def test_fail_no_info(self):
|
def test_fail_no_info(self):
|
||||||
# use the broken message class
|
# use the broken message class
|
||||||
|
@ -564,7 +564,7 @@ class FailingServerTestCase(unittest.TestCase):
|
||||||
p.pow(6,8)
|
p.pow(6,8)
|
||||||
except (xmlrpclib.ProtocolError, socket.error), e:
|
except (xmlrpclib.ProtocolError, socket.error), e:
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e) and hasattr(e, "headers"):
|
||||||
# The two server-side error headers shouldn't be sent back in this case
|
# The two server-side error headers shouldn't be sent back in this case
|
||||||
self.assertTrue(e.headers.get("X-exception") is None)
|
self.assertTrue(e.headers.get("X-exception") is None)
|
||||||
self.assertTrue(e.headers.get("X-traceback") is None)
|
self.assertTrue(e.headers.get("X-traceback") is None)
|
||||||
|
@ -584,7 +584,7 @@ class FailingServerTestCase(unittest.TestCase):
|
||||||
p.pow(6,8)
|
p.pow(6,8)
|
||||||
except (xmlrpclib.ProtocolError, socket.error), e:
|
except (xmlrpclib.ProtocolError, socket.error), e:
|
||||||
# ignore failures due to non-blocking socket 'unavailable' errors
|
# ignore failures due to non-blocking socket 'unavailable' errors
|
||||||
if not is_unavailable_exception(e):
|
if not is_unavailable_exception(e) and hasattr(e, "headers"):
|
||||||
# We should get error info in the response
|
# We should get error info in the response
|
||||||
expected_err = "invalid literal for int() with base 10: 'I am broken'"
|
expected_err = "invalid literal for int() with base 10: 'I am broken'"
|
||||||
self.assertEqual(e.headers.get("x-exception"), expected_err)
|
self.assertEqual(e.headers.get("x-exception"), expected_err)
|
||||||
|
|
Loading…
Reference in New Issue