1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*BINFMTC: forkexec.c
*/
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <assert.h>
#include "parameter.h"
int main()
{
char *const successvp[] =
{
"/bin/true",
NULL
};
char *const failurevp[] =
{
"/bin/false",
NULL
};
char *const echovp[] =
{
"/bin/echo",
"Hello world",
NULL
};
assert(forkexecvp(successvp) == 0);
assert(forkexecvp(failurevp) == 1);
assert(forkexecvp(echovp) == 0);
assert(forkexeclp("/bin/true",
"/bin/true",
NULL) == 0);
assert(forkexeclp("/bin/false",
"/bin/false",
NULL) == 1);
assert(forkexeclp("/bin/echo",
"/bin/echo",
"Hello World",
NULL) == 0);
return 0;
}
|