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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6;p=python 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 705bdc7bf3..bbeb20eb15 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 fb22eb6bec..7ba7b26078 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