Skip to content

Commit 633545a

Browse files
[3.11] pythongh-123930: Correct test of attribute failure to account for iOS (pythonGH-125959) (python#125960)
pythongh-123930: Correct test of attribute failure to account for iOS (pythonGH-125959) Update a test of importing attributes from binary modules to account for iOS conditions. (cherry picked from commit 75401fe) Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
1 parent b996ad8 commit 633545a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

Lib/test/test_import/__init__.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,14 @@ def test_from_import_missing_attr_has_name_and_so_path(self):
8383
from _testcapi import i_dont_exist
8484
self.assertEqual(cm.exception.name, '_testcapi')
8585
if hasattr(_testcapi, "__file__"):
86-
self.assertEqual(cm.exception.path, _testcapi.__file__)
86+
# The path on the exception is strictly the spec origin, not the
87+
# module's __file__. For most cases, these are the same; but on
88+
# iOS, the Framework relocation process results in the exception
89+
# being raised from the spec location.
90+
self.assertEqual(cm.exception.path, _testcapi.__spec__.origin)
8791
self.assertRegex(
8892
str(cm.exception),
89-
r"cannot import name 'i_dont_exist' from '_testcapi' \(.*\.(so|fwork|pyd)\)"
93+
r"cannot import name 'i_dont_exist' from '_testcapi' \(.*(\.(so|pyd))?\)"
9094
)
9195
else:
9296
self.assertEqual(

0 commit comments

Comments
 (0)