]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-109017: Use non alternate name for Kyiv (GH-109251)
authorJochen Sprickerhof <github@jochen.sprickerhof.de>
Tue, 24 Oct 2023 17:11:51 +0000 (19:11 +0200)
committerGitHub <noreply@github.com>
Tue, 24 Oct 2023 17:11:51 +0000 (20:11 +0300)
tzdata provides Kiev as an alternative to Kyiv:
https://sources.debian.org/src/tzdata/2023c-10/backward/?hl=314#L314

But Debian moved it to the tzdata-legacy package breaking the test:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050530

This patch switches to the name provided by tzdata.

Also check that the new name is actually available.

Lib/test/test_email/test_utils.py

index 25fa48c5ee217b5100ccf34ddafd6d3a90775f05..c9d973df0a2192a98259c6f49cedd8a9aa217cfb 100644 (file)
@@ -5,6 +5,7 @@ import time
 import unittest
 import sys
 import os.path
+import zoneinfo
 
 class DateTimeTests(unittest.TestCase):
 
@@ -142,13 +143,9 @@ class LocaltimeTests(unittest.TestCase):
         t2 = utils.localtime(t0.replace(tzinfo=None))
         self.assertEqual(t1, t2)
 
-    # XXX: Need a more robust test for Olson's tzdata
-    @unittest.skipIf(sys.platform.startswith('win'),
-                     "Windows does not use Olson's TZ database")
-    @unittest.skipUnless(os.path.exists('/usr/share/zoneinfo') or
-                         os.path.exists('/usr/lib/zoneinfo'),
-                         "Can't find the Olson's TZ database")
-    @test.support.run_with_tz('Europe/Kiev')
+    @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)