1414import struct
1515import tempfile
1616import unittest
17+ import zoneinfo
1718from datetime import date , datetime , time , timedelta , timezone
1819from functools import cached_property
1920
2021from test .support import MISSING_C_DOCSTRINGS
2122from test .support .os_helper import EnvironmentVarGuard , FakePath
2223from test .test_zoneinfo import _support as test_support
2324from test .test_zoneinfo ._support import TZPATH_TEST_LOCK , ZoneInfoTestBase
25+ from test .support .hypothesis_helper import hypothesis
2426from test .support .import_helper import import_module , CleanImport
2527from test .support .script_helper import assert_python_ok
2628
@@ -1551,13 +1553,13 @@ def __eq__(self, other):
15511553 except CustomError :
15521554 pass
15531555
1554- @unittest .skipUnless (
1555- lambda : any (os .path .exists (os .path .join (p , 'UTC' )) for p in ZoneInfo .tzpath ),
1556- "timezone data not available"
1557- )
15581556 def test_weak_cache_descriptor_use_after_free (self ):
15591557 from zoneinfo import ZoneInfo
15601558
1559+ available_zones = sorted (zoneinfo .available_timezones ())
1560+ if "UTC" not in available_zones :
1561+ raise unittest .SkipTest ("No time zone data available" )
1562+
15611563 class Cache :
15621564 def __init__ (self ):
15631565 self .data = {}
@@ -1580,22 +1582,16 @@ class EvilZoneInfo(ZoneInfo):
15801582
15811583 EvilZoneInfo ._weak_cache = BombDescriptor ()
15821584
1583- try :
1584- zone1 = EvilZoneInfo ("UTC" )
1585+ zone1 = EvilZoneInfo ("UTC" )
15851586
1586- self .assertIsNotNone (zone1 )
1587- self .assertEqual (str (zone1 ), "UTC" )
1588- except self .module .ZoneInfoNotFoundError :
1589- pass
1587+ self .assertIsNotNone (zone1 )
1588+ self .assertEqual (str (zone1 ), "UTC" )
15901589
15911590 EvilZoneInfo .clear_cache ()
15921591
1593- try :
1594- zone2 = EvilZoneInfo ("UTC" )
1595- self .assertIsNotNone (zone2 )
1596- self .assertEqual (str (zone2 ), "UTC" )
1597- except self .module .ZoneInfoNotFoundError :
1598- pass
1592+ zone2 = EvilZoneInfo ("UTC" )
1593+ self .assertIsNotNone (zone2 )
1594+ self .assertEqual (str (zone2 ), "UTC" )
15991595
16001596
16011597class CZoneInfoCacheTest (ZoneInfoCacheTest ):
0 commit comments