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).
This commit is contained in:
Victor Stinner 2010-04-16 12:23:43 +00:00
parent febecd8276
commit 6f7adcc58e
2 changed files with 15 additions and 0 deletions

View File

@ -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):

View File

@ -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