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.
This commit is contained in:
parent
b53b741171
commit
f754f5fd68
|
@ -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")
|
||||
|
|
Loading…
Reference in New Issue