Add CS_GNU_LIBC_VERSION and CS_GNU_LIBPTHREAD_VERSION constants for constr(),
and disable test_execvpe_with_bad_program() of test_os if the libc uses
linuxthreads to avoid the "unknown signal 32" bug (see issue #4970).
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 705bdc7..bbeb20e 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -589,6 +589,15 @@
class ExecTests(unittest.TestCase):
def test_execvpe_with_bad_program(self):
+ try:
+ # 'linuxthreads-0.10' or 'NPTL 2.10.2'
+ pthread = os.confstr("CS_GNU_LIBPTHREAD_VERSION")
+ linuxthreads = pthread.startswith("linuxthreads")
+ except ValueError:
+ linuxthreads = False
+ if linuxthreads:
+ raise unittest.SkipTest(
+ "avoid linuxthreads bug: see issue #4970")
self.assertRaises(OSError, os.execvpe, 'no such app-', ['no such app-'], None)
def test_execvpe_with_bad_arglist(self):