diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2010-04-16 12:23:43 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2010-04-16 12:23:43 (GMT) |
commit | 6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6 (patch) | |
tree | 0f7b43c3960aa67dc5ad3504f97752ad59a70250 | |
parent | febecd82762477728ae98580b912ab17981770ff (diff) | |
download | cpython-6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6.zip cpython-6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6.tar.gz cpython-6f7adcc58ef52a06f3863fe10ce5f6a7ffc357b6.tar.bz2 |
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).
-rw-r--r-- | Lib/test/test_os.py | 9 | ||||
-rw-r--r-- | Modules/posixmodule.c | 6 |
2 files changed, 15 insertions, 0 deletions
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 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 fb22eb6..7ba7b26 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 |