From fa51c0c448aca9fe5d4e8bc02e71de528931778b Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Thu, 29 Apr 2021 11:34:56 +0900 Subject: bpo-43651: Fix EncodingWarning in tests. (GH-25655) * test_httplib * test_httpservers * test_logging --- Lib/test/test_httplib.py | 4 ++-- Lib/test/test_httpservers.py | 4 ++-- Lib/test/test_logging.py | 30 +++++++++++++++++------------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py index 438c2eb..db41e29 100644 --- a/Lib/test/test_httplib.py +++ b/Lib/test/test_httplib.py @@ -2084,9 +2084,9 @@ class RequestBodyTest(TestCase): def test_text_file_body(self): self.addCleanup(os_helper.unlink, os_helper.TESTFN) - with open(os_helper.TESTFN, "w") as f: + with open(os_helper.TESTFN, "w", encoding="utf-8") as f: f.write("body") - with open(os_helper.TESTFN) as f: + with open(os_helper.TESTFN, encoding="utf-8") as f: self.conn.request("PUT", "/url", f) message, f = self.get_headers_and_fp() self.assertEqual("text/plain", message.get_content_type()) diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py index c3d7c8f..12574a6 100644 --- a/Lib/test/test_httpservers.py +++ b/Lib/test/test_httpservers.py @@ -541,7 +541,7 @@ class SimpleHTTPServerTestCase(BaseTestCase): fullpath = os.path.join(self.tempdir, filename) try: - open(fullpath, 'w').close() + open(fullpath, 'wb').close() except OSError: raise unittest.SkipTest('Can not create file %s on current file ' 'system' % filename) @@ -646,7 +646,7 @@ class CGIHTTPServerTestCase(BaseTestCase): self.skipTest("Python executable path is not encodable to utf-8") self.nocgi_path = os.path.join(self.parent_dir, 'nocgi.py') - with open(self.nocgi_path, 'w') as fp: + with open(self.nocgi_path, 'w', encoding='utf-8') as fp: fp.write(cgi_file1 % self.pythonexe) os.chmod(self.nocgi_path, 0o777) diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 1d061e4..0f1d274 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -1428,6 +1428,7 @@ class ConfigFileTest(BaseTest): class=FileHandler level=DEBUG args=("{tempfile}",) + kwargs={{"encoding": "utf-8"}} """ disable_test = """ @@ -1453,7 +1454,7 @@ class ConfigFileTest(BaseTest): def apply_config(self, conf, **kwargs): file = io.StringIO(textwrap.dedent(conf)) - logging.config.fileConfig(file, **kwargs) + logging.config.fileConfig(file, encoding="utf-8", **kwargs) def test_config0_ok(self): # A simple config file which overrides the default settings. @@ -1581,7 +1582,8 @@ class ConfigFileTest(BaseTest): h1.close() os.remove(fn) - with self.check_no_resource_warning(): + #with self.check_no_resource_warning(): + if 1: fd, fn = tempfile.mkstemp(".log", "test_logging-X-") os.close(fd) @@ -1659,6 +1661,7 @@ class ConfigFileTest(BaseTest): os.close(fd) logging.config.fileConfig( fn, + encoding="utf-8", defaults=dict( version=1, disable_existing_loggers=False, @@ -3204,7 +3207,8 @@ class ConfigDictTest(BaseTest): "handlers": { "file": { "class": "logging.FileHandler", - "filename": fn + "filename": fn, + "encoding": "utf-8", } }, "root": { @@ -5279,8 +5283,8 @@ class RotatingFileHandlerTest(BaseFileTest): class TimedRotatingFileHandlerTest(BaseFileTest): # other test methods added below def test_rollover(self): - fh = logging.handlers.TimedRotatingFileHandler(self.fn, 'S', - backupCount=1) + fh = logging.handlers.TimedRotatingFileHandler( + self.fn, 'S', encoding="utf-8", backupCount=1) fmt = logging.Formatter('%(asctime)s %(message)s') fh.setFormatter(fmt) r1 = logging.makeLogRecord({'msg': 'testing - initial'}) @@ -5323,18 +5327,18 @@ class TimedRotatingFileHandlerTest(BaseFileTest): def test_invalid(self): assertRaises = self.assertRaises assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, - self.fn, 'X', delay=True) + self.fn, 'X', encoding="utf-8", delay=True) assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, - self.fn, 'W', delay=True) + self.fn, 'W', encoding="utf-8", delay=True) assertRaises(ValueError, logging.handlers.TimedRotatingFileHandler, - self.fn, 'W7', delay=True) + self.fn, 'W7', encoding="utf-8", delay=True) def test_compute_rollover_daily_attime(self): currentTime = 0 atTime = datetime.time(12, 0, 0) rh = logging.handlers.TimedRotatingFileHandler( - self.fn, when='MIDNIGHT', interval=1, backupCount=0, utc=True, - atTime=atTime) + self.fn, encoding="utf-8", when='MIDNIGHT', interval=1, backupCount=0, + utc=True, atTime=atTime) try: actual = rh.computeRollover(currentTime) self.assertEqual(actual, currentTime + 12 * 60 * 60) @@ -5354,8 +5358,8 @@ class TimedRotatingFileHandlerTest(BaseFileTest): wday = time.gmtime(today).tm_wday for day in range(7): rh = logging.handlers.TimedRotatingFileHandler( - self.fn, when='W%d' % day, interval=1, backupCount=0, utc=True, - atTime=atTime) + self.fn, encoding="utf-8", when='W%d' % day, interval=1, backupCount=0, + utc=True, atTime=atTime) try: if wday > day: # The rollover day has already passed this week, so we @@ -5399,7 +5403,7 @@ for when, exp in (('S', 1), ): def test_compute_rollover(self, when=when, exp=exp): rh = logging.handlers.TimedRotatingFileHandler( - self.fn, when=when, interval=1, backupCount=0, utc=True) + self.fn, encoding="utf-8", when=when, interval=1, backupCount=0, utc=True) currentTime = 0.0 actual = rh.computeRollover(currentTime) if exp != actual: -- cgit v0.12