mirror of https://gitee.com/Nocallback/glibc.git
Browse Source
trying to run it with shell. * posix/Makefile: Add rules to build and run tst-execvp3. * posix/tst-execvp3.c: New file.cvs/glibc-2_5-branch
4 changed files with 54 additions and 3 deletions
@ -0,0 +1,42 @@ |
|||
#include <stdio.h> |
|||
#include <stdlib.h> |
|||
#include <string.h> |
|||
#include <unistd.h> |
|||
#include <sys/stat.h> |
|||
|
|||
|
|||
static void do_prepare (void); |
|||
#define PREPARE(argc, argv) do_prepare () |
|||
static int do_test (void); |
|||
#define TEST_FUNCTION do_test () |
|||
|
|||
#include "../test-skeleton.c" |
|||
|
|||
|
|||
static char *fname; |
|||
|
|||
static void |
|||
do_prepare (void) |
|||
{ |
|||
int fd = create_temp_file ("testscript", &fname); |
|||
dprintf (fd, "echo foo\n"); |
|||
fchmod (fd, 0700); |
|||
close (fd); |
|||
} |
|||
|
|||
|
|||
static int |
|||
do_test (void) |
|||
{ |
|||
if (setenv ("PATH", test_dir, 1) != 0) |
|||
{ |
|||
puts ("setenv failed"); |
|||
return 1; |
|||
} |
|||
|
|||
char *argv[] = { fname, NULL }; |
|||
execvp (basename (fname), argv); |
|||
|
|||
/* If we come here, the execvp call failed. */ |
|||
return 1; |
|||
} |
|||
Loading…
Reference in new issue