https://github.com/python/cpython/commit/dcaa311d88e0e4fd320f0bcda86db5b277062117
commit: dcaa311d88e0e4fd320f0bcda86db5b277062117
branch: main
author: Petr Viktorin <[email protected]>
committer: encukou <[email protected]>
date: 2026-09-23T18:13:37+02:00
summary:

gh-157983: Skip test for ctypes.util.find_library when ld is mold (GH-157984)

The `mold` linker does not support the `-t` option that
`ctypes.util.find_library` uses.
Since `find_library` is soft-deprecated and explicitly documented as
*not expected to be updated for additional platforms and configurations*,
we skip the test in the known failing case.

files:
M Lib/test/test_ctypes/test_find.py

diff --git a/Lib/test/test_ctypes/test_find.py 
b/Lib/test/test_ctypes/test_find.py
index 8bc84c3d2ef9f85..92175cc38eecf42 100644
--- a/Lib/test/test_ctypes/test_find.py
+++ b/Lib/test/test_ctypes/test_find.py
@@ -1,4 +1,5 @@
 import os.path
+import subprocess
 import sys
 import test.support
 import unittest
@@ -78,9 +79,24 @@ def test_shell_injection(self):
 @unittest.skipUnless(sys.platform.startswith('linux'),
                      'Test only valid for Linux')
 class FindLibraryLinux(unittest.TestCase):
+    @classmethod
+    def setUpClass(cls):
+        try:
+            p = subprocess.run(['ld', '--version'],
+                               stdout=subprocess.PIPE,
+                               stderr=subprocess.DEVNULL,
+                               text=True)
+        except OSError:
+            pass
+        else:
+            if p.stdout.startswith('mold '):
+                # The mold linker is known to be incompatible with
+                # the soft-deprecated ctypes.util.find_library
+                # (which uses `ld -t`).
+                raise unittest.SkipTest('Fails when ld is mold')
+
     @thread_unsafe('uses setenv')
     def test_find_on_libpath(self):
-        import subprocess
         import tempfile
 
         try:

_______________________________________________
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]

Reply via email to