Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 15 Sep 2002 04:25:03 +0000 (04:25 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 15 Sep 2002 04:25:03 +0000 (04:25 +0000)
* test-skeleton.c (main): Provide more information in case waitpid
fails.

.cvsignore
ChangeLog
test-skeleton.c

index e9b99fe..e801b5a 100644 (file)
@@ -1,5 +1,5 @@
 *.d *.o *.so *.po *.go *.bo stamp.* *.stamp *.ustamp *.udeps
-*.gz *.Z *.tar *.tgz
+*.gz *.Z *.tar *.tgz *.bz2
 =*
 TODO AUTHORS copyr-* copying.*
 glibc-*
index b2a7f94..102e815 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2002-09-14  Ulrich Drepper  <drepper@redhat.com>
 
+       * test-skeleton.c (main): Provide more information in case waitpid
+       fails.
+
        * include/unistd.h: Declare __exit_thread.
        * sysdeps/generic/libc-start.c: Remove dummy_addr.
        Wrap call to main in setjmp if HAVE_CANCELBUF is defined.
index 47b0143..e36eee7 100644 (file)
@@ -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);
     }