blob: b86fd5675a1fcdcd5f9c367971629fad1f3b5ad0 [file] [log] [blame]
/*
Test case for assertion #1 of the WIFEXITED macro defined in sys/wait.h
by forking a new process, having the process return 0, and verifying
WIFEXITED returns a non-negative value.
*/
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
#include "posixtest.h"
int main()
{
int s;
switch (fork()) {
case 0:
/* child */
sleep(5);
exit(0);
break;
case -1:
perror("fork failed");
break;
default:
/* parent */
if (wait(&s) == -1) {
perror("Unexpected error while setting up test "
"pre-conditions");
exit(PTS_UNRESOLVED);
}
if (WIFEXITED(s)) {
printf("Test PASSED\n");
exit(PTS_PASS);
}
break;
}
printf("Test FAILED\n");
exit(PTS_FAIL);
}