summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2005-04-08 18:00:59 (GMT)
committerTim Peters <tim.peters@gmail.com>2005-04-08 18:00:59 (GMT)
commitf754f5fd68d5ab4f6f7077dcc90080857f5e7e85 (patch)
tree6c55f0a2a8321a24de3e72b3f40c34d793ad1c07
parentb53b741171a422adac23dd97e58e3cb970aa5888 (diff)
downloadcpython-f754f5fd68d5ab4f6f7077dcc90080857f5e7e85.zip
cpython-f754f5fd68d5ab4f6f7077dcc90080857f5e7e85.tar.gz
cpython-f754f5fd68d5ab4f6f7077dcc90080857f5e7e85.tar.bz2
test_default_encoding_issues(): Fully restore sys.setdefaultencoding.
test_site often failed under "regrtest.py -r", because this xmlrpc test left sys with a setdefaultencoding attribute, but loading site.py removes that attribute and test_site.py verifies the attribute is gone. Changed this test to get rid of sys.setdefaultencoding if it didn't exist when this test started. Don't know whether this is a bugfix (backport) candidate.
-rw-r--r--Lib/test/test_xmlrpc.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index b80de18..df0893d 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -80,13 +80,20 @@ class XMLRPCTestCase(unittest.TestCase):
</value></param>
</params>
"""
+
+ # sys.setdefaultencoding() normally doesn't exist after site.py is
+ # loaded. reload(sys) is the way to get it back.
old_encoding = sys.getdefaultencoding()
+ setdefaultencoding_existed = hasattr(sys, "setdefaultencoding")
reload(sys) # ugh!
sys.setdefaultencoding("iso-8859-1")
try:
(s, d), m = xmlrpclib.loads(utf8)
finally:
sys.setdefaultencoding(old_encoding)
+ if not setdefaultencoding_existed:
+ del sys.setdefaultencoding
+
items = d.items()
if have_unicode:
self.assertEquals(s, u"abc \x95")