From: Victor Stinner Date: Fri, 16 Apr 2010 12:23:43 +0000 (+0000) Subject: Add CS_GNU_LIBC_VERSION and CS_GNU_LIBPTHREAD_VERSION constants for constr(), X-Git-Tag: v3.2a1~1142 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6;p=thirdparty%2FPython%2Fcpython.git 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 705bdc7bf36e..bbeb20eb154b 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 fb22eb6bece1..7ba7b26078b7 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