[Python-checkins] r60372 - python/trunk/Lib/test/test_xmlrpc.py

neal.norwitz python-checkins at python.org
Sun Jan 27 21:03:16 CET 2008


Author: neal.norwitz
Date: Sun Jan 27 21:03:13 2008
New Revision: 60372

Modified:
   python/trunk/Lib/test/test_xmlrpc.py
Log:
socket.error doesn't have a headers attribute like ProtocolError.
Handle that situation where we catch socket.errors.


Modified: python/trunk/Lib/test/test_xmlrpc.py
==============================================================================
--- python/trunk/Lib/test/test_xmlrpc.py	(original)
+++ python/trunk/Lib/test/test_xmlrpc.py	Sun Jan 27 21:03:13 2008
@@ -397,7 +397,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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.
     def XXXtest_404(self):
@@ -423,7 +423,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         try:
@@ -435,7 +435,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         try:
@@ -447,7 +447,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         # the SimpleXMLRPCServer doesn't support signatures, but
@@ -460,7 +460,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         try:
@@ -477,7 +477,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         try:
@@ -498,7 +498,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         # this will raise AttirebuteError because code don't want us to use
@@ -553,7 +553,7 @@
             # ignore failures due to non-blocking socket 'unavailable' errors
             if not is_unavailable_exception(e):
                 # 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):
         # use the broken message class
@@ -564,7 +564,7 @@
             p.pow(6,8)
         except (xmlrpclib.ProtocolError, socket.error), e:
             # 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
                 self.assertTrue(e.headers.get("X-exception") is None)
                 self.assertTrue(e.headers.get("X-traceback") is None)
@@ -584,7 +584,7 @@
             p.pow(6,8)
         except (xmlrpclib.ProtocolError, socket.error), e:
             # 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
                 expected_err = "invalid literal for int() with base 10: 'I am broken'"
                 self.assertEqual(e.headers.get("x-exception"), expected_err)


More information about the Python-checkins mailing list