]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-117398: Use the correct module loader for iOS in datetime CAPI test. (#120477)
authorRussell Keith-Magee <russell@keith-magee.com>
Sat, 15 Jun 2024 00:05:30 +0000 (08:05 +0800)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2024 00:05:30 +0000 (08:05 +0800)
Use the correct loader for iOS.

Lib/test/datetimetester.py

index 70e2e2cccdc55faf0254438ab230492cddf9a545..e55b738eb4a97518e8eacc26cbcf9516392593b5 100644 (file)
@@ -6786,6 +6786,13 @@ class CapiTest(unittest.TestCase):
                     self.assertEqual(dt_orig, dt_rt)
 
     def test_type_check_in_subinterp(self):
+        # iOS requires the use of the custom framework loader,
+        # not the ExtensionFileLoader.
+        if sys.platform == "ios":
+            extension_loader = "AppleFrameworkLoader"
+        else:
+            extension_loader = "ExtensionFileLoader"
+
         script = textwrap.dedent(f"""
             if {_interpreters is None}:
                 import _testcapi as module
@@ -6795,7 +6802,7 @@ class CapiTest(unittest.TestCase):
                 import importlib.util
                 fullname = '_testcapi_datetime'
                 origin = importlib.util.find_spec('_testcapi').origin
-                loader = importlib.machinery.ExtensionFileLoader(fullname, origin)
+                loader = importlib.machinery.{extension_loader}(fullname, origin)
                 spec = importlib.util.spec_from_loader(fullname, loader)
                 module = importlib.util.module_from_spec(spec)
                 spec.loader.exec_module(module)