aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_capi/test_misc.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_capi/test_misc.py')
-rw-r--r--Lib/test/test_capi/test_misc.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/Lib/test/test_capi/test_misc.py b/Lib/test/test_capi/test_misc.py
index d3fcd0b59df..7365ead1c47 100644
--- a/Lib/test/test_capi/test_misc.py
+++ b/Lib/test/test_capi/test_misc.py
@@ -2056,6 +2056,13 @@ class SubinterpreterTest(unittest.TestCase):
self.addCleanup(os.close, r)
self.addCleanup(os.close, w)
+ # Apple extensions must be distributed as frameworks. This requires
+ # a specialist loader.
+ if support.is_apple_mobile:
+ loader = "AppleFrameworkLoader"
+ else:
+ loader = "ExtensionFileLoader"
+
script = textwrap.dedent(f"""
import importlib.machinery
import importlib.util
@@ -2063,7 +2070,7 @@ class SubinterpreterTest(unittest.TestCase):
fullname = '_test_module_state_shared'
origin = importlib.util.find_spec('_testmultiphase').origin
- loader = importlib.machinery.ExtensionFileLoader(fullname, origin)
+ loader = importlib.machinery.{loader}(fullname, origin)
spec = importlib.util.spec_from_loader(fullname, loader)
module = importlib.util.module_from_spec(spec)
attr_id = str(id(module.Error)).encode()
@@ -2371,7 +2378,12 @@ class Test_ModuleStateAccess(unittest.TestCase):
def setUp(self):
fullname = '_testmultiphase_meth_state_access' # XXX
origin = importlib.util.find_spec('_testmultiphase').origin
- loader = importlib.machinery.ExtensionFileLoader(fullname, origin)
+ # Apple extensions must be distributed as frameworks. This requires
+ # a specialist loader.
+ if support.is_apple_mobile:
+ loader = importlib.machinery.AppleFrameworkLoader(fullname, origin)
+ else:
+ loader = importlib.machinery.ExtensionFileLoader(fullname, origin)
spec = importlib.util.spec_from_loader(fullname, loader)
module = importlib.util.module_from_spec(spec)
loader.exec_module(module)