Kaydet (Commit) 523263d4 authored tarafından Anthony Baxter's avatar Anthony Baxter

backport:

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.
üst d8b9721d
...@@ -63,13 +63,20 @@ class XMLRPCTestCase(unittest.TestCase): ...@@ -63,13 +63,20 @@ class XMLRPCTestCase(unittest.TestCase):
</value></param> </value></param>
</params> </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() old_encoding = sys.getdefaultencoding()
setdefaultencoding_existed = hasattr(sys, "setdefaultencoding")
reload(sys) # ugh! reload(sys) # ugh!
sys.setdefaultencoding("iso-8859-1") sys.setdefaultencoding("iso-8859-1")
try: try:
(s, d), m = xmlrpclib.loads(utf8) (s, d), m = xmlrpclib.loads(utf8)
finally: finally:
sys.setdefaultencoding(old_encoding) sys.setdefaultencoding(old_encoding)
if not setdefaultencoding_existed:
del sys.setdefaultencoding
items = d.items() items = d.items()
if have_unicode: if have_unicode:
self.assertEquals(s, u"abc \x95") self.assertEquals(s, u"abc \x95")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment