From: Roland McGrath Date: Mon, 17 Oct 2005 09:05:20 +0000 (+0000) Subject: 2005-07-24 Ulrich Drepper X-Git-Tag: cvs/glibc-2_3_6~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ca74ce53fd609a626d877a66956fdc3470953c8f;p=thirdparty%2Fglibc.git 2005-07-24 Ulrich Drepper [BZ #1125] * posix/Makefile (tests): Add tst-execvp4. * posix/tst-execvp4.c: New file. --- diff --git a/posix/Makefile b/posix/Makefile index 6bccab98318..a0488314162 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -87,7 +87,7 @@ tests := tstgetopt testfnm runtests runptests \ tst-execvp1 tst-execvp2 tst-execlp1 tst-execlp2 \ tst-execv1 tst-execv2 tst-execl1 tst-execl2 \ tst-execve1 tst-execve2 tst-execle1 tst-execle2 \ - tst-execvp3 + tst-execvp3 tst-execvp4 xtests := bug-ga2 ifeq (yes,$(build-shared)) test-srcs := globtest diff --git a/posix/tst-execvp4.c b/posix/tst-execvp4.c new file mode 100644 index 00000000000..531fab227b6 --- /dev/null +++ b/posix/tst-execvp4.c @@ -0,0 +1,35 @@ +#include +#include +#include +#include +#include +#include + +static int +do_test (void) +{ + char buf[40] = "/usr/bin/does-not-exist"; + size_t stemlen = strlen (buf); + struct stat64 st; + int cnt = 0; + while (stat64 (buf, &st) != -1 || errno != ENOENT + || stat64 (buf + 4, &st) != -1 || errno != ENOENT) + { + if (cnt++ == 100) + { + puts ("cannot find a unique file name"); + return 0; + } + + strcpy (buf + stemlen, ".XXXXXX"); + mktemp (buf); + } + + unsetenv ("PATH"); + char *argv[] = { buf + 9, NULL }; + execvp (argv[0], argv); + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c"