aboutsummaryrefslogtreecommitdiff
path: root/test-skeleton.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-09-15 04:25:03 +0000
committerUlrich Drepper <drepper@redhat.com>2002-09-15 04:25:03 +0000
commit608c5afdcc09b5082e58d4f2e11683ebe26cdf1b (patch)
tree5e1a3a64b93b721f24d28d02863d18677ff3bf91 /test-skeleton.c
parent7ae4abe9af5d7c76c7ab01a72aebe307a06120e1 (diff)
downloadglibc-608c5afdcc09b5082e58d4f2e11683ebe26cdf1b.tar
glibc-608c5afdcc09b5082e58d4f2e11683ebe26cdf1b.tar.gz
glibc-608c5afdcc09b5082e58d4f2e11683ebe26cdf1b.tar.bz2
glibc-608c5afdcc09b5082e58d4f2e11683ebe26cdf1b.zip
Update.
* test-skeleton.c (main): Provide more information in case waitpid fails.
Diffstat (limited to 'test-skeleton.c')
-rw-r--r--test-skeleton.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/test-skeleton.c b/test-skeleton.c
index 47b0143d7f..e36eee7eb4 100644
--- a/test-skeleton.c
+++ b/test-skeleton.c
@@ -50,7 +50,7 @@ static struct option options[] =
};
/* PID of the test itself. */
-static int pid;
+static pid_t pid;
/* Directory to place temporary files in. */
static const char *test_dir;
@@ -157,6 +157,7 @@ main (int argc, char *argv[])
int direct = 0; /* Directly call the test function? */
int status;
int opt;
+ pid_t termpid;
#ifdef STDOUT_UNBUFFERED
setbuf (stdout, NULL);
@@ -250,9 +251,16 @@ main (int argc, char *argv[])
signal (SIGALRM, timeout_handler);
/* Wait for the regular termination. */
- if (waitpid (pid, &status, 0) != pid)
+ termpid = waitpid (pid, &status, 0);
+ if (termpid == -1)
{
- perror ("Oops, wrong test program terminated");
+ printf ("Waiting for test program failed: %m\n");
+ exit (1);
+ }
+ if (termpid != pid)
+ {
+ printf ("Oops, wrong test program terminated: expected %ld, got %ld\n",
+ (long int) pid, (long int) termpid);
exit (1);
}