From: Russell Keith-Magee Date: Fri, 25 Oct 2024 07:18:45 +0000 (+0800) Subject: gh-123930: Correct test of attribute failure to account for iOS (#125959) X-Git-Tag: v3.14.0a2~302 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=75401febc91a449cc4f4391d663e9a96ce91bb6c;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Lib/test/test_import/__init__.py b/Lib/test/test_import/__init__.py index 5b7ba90b2cc7..e6fd33e208c4 100644 --- a/Lib/test/test_import/__init__.py +++ b/Lib/test/test_import/__init__.py @@ -370,10 +370,14 @@ class ImportTests(unittest.TestCase): 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(