Skip to content

Commit

Permalink
[3.12] gh-126742: Avoid checking for library filename in test_ctypes (G…
Browse files Browse the repository at this point in the history
…H-128034) (#128057)

gh-126742: Avoid checking for library filename in test_ctypes (GH-128034)

Avoid checking for library filename in `dlerror()` error messages of test_ctypes.
(cherry picked from commit 335e24f)

Co-authored-by: Bénédikt Tran <[email protected]>
  • Loading branch information
miss-islington and picnixz authored Dec 18, 2024
1 parent e0b61ff commit 6ffa564
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions Lib/test/test_ctypes/test_dlerror.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,24 +133,20 @@ def configure_locales(func):
@classmethod
def setUpClass(cls):
cls.libc_filename = find_library("c")
if cls.libc_filename is None:
raise unittest.SkipTest('cannot find libc')

@configure_locales
def test_localized_error_from_dll(self):
dll = CDLL(self.libc_filename)
with self.assertRaises(AttributeError) as cm:
with self.assertRaises(AttributeError):
dll.this_name_does_not_exist
if sys.platform.startswith('linux'):
# On macOS, the filename is not reported by dlerror().
self.assertIn(self.libc_filename, str(cm.exception))

@configure_locales
def test_localized_error_in_dll(self):
dll = CDLL(self.libc_filename)
with self.assertRaises(ValueError) as cm:
with self.assertRaises(ValueError):
c_int.in_dll(dll, 'this_name_does_not_exist')
if sys.platform.startswith('linux'):
# On macOS, the filename is not reported by dlerror().
self.assertIn(self.libc_filename, str(cm.exception))

@unittest.skipUnless(hasattr(_ctypes, 'dlopen'),
'test requires _ctypes.dlopen()')
Expand All @@ -172,11 +168,8 @@ def test_localized_error_dlopen(self):
@configure_locales
def test_localized_error_dlsym(self):
dll = _ctypes.dlopen(self.libc_filename)
with self.assertRaises(OSError) as cm:
with self.assertRaises(OSError):
_ctypes.dlsym(dll, 'this_name_does_not_exist')
if sys.platform.startswith('linux'):
# On macOS, the filename is not reported by dlerror().
self.assertIn(self.libc_filename, str(cm.exception))


if __name__ == "__main__":
Expand Down

0 comments on commit 6ffa564

Please sign in to comment.