From f754f5fd68d5ab4f6f7077dcc90080857f5e7e85 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Fri, 8 Apr 2005 18:00:59 +0000 Subject: [PATCH] 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. --- Lib/test/test_xmlrpc.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py index b80de18f995..df0893dbeaa 100644 --- a/Lib/test/test_xmlrpc.py +++ b/Lib/test/test_xmlrpc.py @@ -80,13 +80,20 @@ class XMLRPCTestCase(unittest.TestCase): """ + + # 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")