|  | 
| 12 | 12 | import re | 
| 13 | 13 | import shutil | 
| 14 | 14 | import struct | 
| 15 |  | -import sys | 
| 16 | 15 | import tempfile | 
| 17 | 16 | import unittest | 
| 18 | 17 | from datetime import date, datetime, time, timedelta, timezone | 
|  | 
| 23 | 22 | from test.test_zoneinfo import _support as test_support | 
| 24 | 23 | from test.test_zoneinfo._support import TZPATH_TEST_LOCK, ZoneInfoTestBase | 
| 25 | 24 | from test.support.import_helper import import_module, CleanImport | 
|  | 25 | +from test.support.script_helper import assert_python_ok | 
| 26 | 26 | 
 | 
| 27 | 27 | lzma = import_module('lzma') | 
| 28 | 28 | py_zoneinfo, c_zoneinfo = test_support.get_modules() | 
| @@ -1949,17 +1949,14 @@ class CTestModule(TestModule): | 
| 1949 | 1949 | 
 | 
| 1950 | 1950 | class MiscTests(unittest.TestCase): | 
| 1951 | 1951 |     def test_pydatetime(self): | 
| 1952 |  | -        with CleanImport('zoneinfo', 'zoneinfo._tzpath', 'zoneinfo._zoneinfo', | 
| 1953 |  | -                         '_zoneinfo', 'datetime', '_pydatetime', '_datetime'): | 
|  | 1952 | +        assert_python_ok('-c', '''if 1: | 
|  | 1953 | +            import sys | 
| 1954 | 1954 |             sys.modules['_datetime'] = None | 
| 1955 | 1955 |             import datetime | 
| 1956 | 1956 |             import zoneinfo | 
| 1957 |  | -            zoneinfo.ZoneInfo.clear_cache() | 
| 1958 | 1957 |             tzinfo = zoneinfo.ZoneInfo('Europe/Paris') | 
| 1959 | 1958 |             datetime.datetime(2025, 10, 26, 2, 0, tzinfo=tzinfo) | 
| 1960 |  | -            self.assertIn('_pydatetime', sys.modules) | 
| 1961 |  | -            self.assertNotIn('_zoneinfo', sys.modules) | 
| 1962 |  | -            self.assertIn('zoneinfo._zoneinfo', sys.modules) | 
|  | 1959 | +            ''') | 
| 1963 | 1960 | 
 | 
| 1964 | 1961 | 
 | 
| 1965 | 1962 | class ExtensionBuiltTest(unittest.TestCase): | 
|  | 
0 commit comments