43 lines
706 B
C
43 lines
706 B
C
|
#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;
|
||
|
}
|