https://github.com/python/cpython/commit/75401febc91a449cc4f4391d663e9a96ce91bb6c
commit: 75401febc91a449cc4f4391d663e9a96ce91bb6c
branch: main
author: Russell Keith-Magee <[email protected]>
committer: freakboy3742 <[email protected]>
date: 2024-10-25T07:18:45Z
summary:
gh-123930: Correct test of attribute failure to account for iOS (#125959)
Update a test of importing attributes from binary modules to account for iOS
conditions.
files:
M Lib/test/test_import/__init__.py
diff --git a/Lib/test/test_import/__init__.py b/Lib/test/test_import/__init__.py
index 5b7ba90b2cc7c6..e6fd33e208c4ba 100644
--- a/Lib/test/test_import/__init__.py
+++ b/Lib/test/test_import/__init__.py
@@ -370,10 +370,14 @@ def
test_from_import_missing_attr_has_name_and_so_path(self):
from _testcapi import i_dont_exist
self.assertEqual(cm.exception.name, '_testcapi')
if hasattr(_testcapi, "__file__"):
- self.assertEqual(cm.exception.path, _testcapi.__file__)
+ # The path on the exception is strictly the spec origin, not the
+ # module's __file__. For most cases, these are the same; but on
+ # iOS, the Framework relocation process results in the exception
+ # being raised from the spec location.
+ self.assertEqual(cm.exception.path, _testcapi.__spec__.origin)
self.assertRegex(
str(cm.exception),
- r"cannot import name 'i_dont_exist' from '_testcapi'
\(.*\.(so|fwork|pyd)\)"
+ r"cannot import name 'i_dont_exist' from '_testcapi'
\(.*(\.(so|pyd))?\)"
)
else:
self.assertEqual(
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]