From 065be55abaa74fd4817cd2a5547c9a6e692e79cf Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Tue, 9 Jan 2024 00:33:53 +0200 Subject: [PATCH 1/2] gh-113027: Fix test_variable_tzname in test_email (GH-113821) Determine the support of the Kyiv timezone by checking the result of astimezone() which uses the system tz database and not the one populated by zoneinfo. (cherry picked from commit 931d7e052e22aa01e18fcc67ed71b6ea305aff71) Co-authored-by: Serhiy Storchaka --- Lib/test/test_email/test_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_email/test_utils.py b/Lib/test/test_email/test_utils.py index 81109a7508ac0d..1d4ef917614593 100644 --- a/Lib/test/test_email/test_utils.py +++ b/Lib/test/test_email/test_utils.py @@ -143,12 +143,12 @@ def test_localtime_epoch_notz_daylight_false(self): t2 = utils.localtime(t0.replace(tzinfo=None)) self.assertEqual(t1, t2) - @unittest.skipUnless("Europe/Kyiv" in zoneinfo.available_timezones(), - "Can't find a Kyiv timezone database") @test.support.run_with_tz('Europe/Kyiv') def test_variable_tzname(self): t0 = datetime.datetime(1984, 1, 1, tzinfo=datetime.timezone.utc) t1 = utils.localtime(t0) + if t1.tzname() == 'Europe': + self.skipTest("Can't find a Kyiv timezone database") self.assertEqual(t1.tzname(), 'MSK') t0 = datetime.datetime(1994, 1, 1, tzinfo=datetime.timezone.utc) t1 = utils.localtime(t0) From c4a05283238f201c3882daa160642363c332e01e Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Fri, 12 Jan 2024 13:42:00 +0200 Subject: [PATCH 2/2] Update Lib/test/test_email/test_utils.py --- Lib/test/test_email/test_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_email/test_utils.py b/Lib/test/test_email/test_utils.py index 1d4ef917614593..342b8507355d71 100644 --- a/Lib/test/test_email/test_utils.py +++ b/Lib/test/test_email/test_utils.py @@ -147,7 +147,7 @@ def test_localtime_epoch_notz_daylight_false(self): def test_variable_tzname(self): t0 = datetime.datetime(1984, 1, 1, tzinfo=datetime.timezone.utc) t1 = utils.localtime(t0) - if t1.tzname() == 'Europe': + if t1.tzname() in ('Europe', 'UTC'): self.skipTest("Can't find a Kyiv timezone database") self.assertEqual(t1.tzname(), 'MSK') t0 = datetime.datetime(1994, 1, 1, tzinfo=datetime.timezone.utc)