From 6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 16 Apr 2010 12:23:43 +0000 Subject: [PATCH] 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). --- Lib/test/test_os.py | 9 +++++++++ Modules/posixmodule.c | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 705bdc7bf36..bbeb20eb154 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -589,6 +589,15 @@ class URandomTests(unittest.TestCase): 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): diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index fb22eb6bece..7ba7b26078b 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -6127,6 +6127,12 @@ static struct constdef posix_constants_confstr[] = { #ifdef _MIPS_CS_VENDOR {"MIPS_CS_VENDOR", _MIPS_CS_VENDOR}, #endif +#ifdef _CS_GNU_LIBC_VERSION + {"CS_GNU_LIBC_VERSION", _CS_GNU_LIBC_VERSION}, +#endif +#ifdef _CS_GNU_LIBPTHREAD_VERSION + {"CS_GNU_LIBPTHREAD_VERSION", _CS_GNU_LIBPTHREAD_VERSION}, +#endif }; static int