]> sourceware.org Git - glibc.git/commitdiff
tst-backtrace4: expand output even on failures
authorMike Frysinger <vapier@gentoo.org>
Mon, 30 Dec 2013 10:31:19 +0000 (10:31 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 8 Feb 2014 12:01:38 +0000 (07:01 -0500)
When debugging failures in this test, it's helpful to see as much output
as possible.  So rather than returning immediately, let the code run as
far as it can.  We still mark failures as soon as they happen.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
ChangeLog
debug/tst-backtrace4.c

index 8e0692170c4cf4927c94905f7f3ca74fbf30c76e..73d38ee0715dbe469516826d4a7ba25d1324b8d5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-08  Mike Frysinger  <vapier@gentoo.org>
+
+       * debug/tst-backtrace4.c (handle_signal): Add NUM_FUNCTIONS to output.
+       Only return early when n is <= 0.  Delete unused return statement.
+
 2014-02-08  Mike Frysinger  <vapier@gentoo.org>
 
        * debug/Makefile (CFLAGS-tst-longjmp_chk3.c): Define.
index a98775a6e29530cf22b7b9b9f2d7a92f00a64ce6..26fbdd00fc9a5b2b6ecda3f96a1fc968691c076e 100644 (file)
@@ -49,12 +49,16 @@ handle_signal (int signum)
 
   /* Get the backtrace addresses.  */
   n = backtrace (addresses, sizeof (addresses) / sizeof (addresses[0]));
-  printf ("Obtained backtrace with %d functions\n", n);
-  /*  Check that there are at least six functions.  */
+  printf ("Obtained backtrace with %d functions (but wanted at least %d)\n",
+         n, NUM_FUNCTIONS);
+  /* Check that there are at least six functions.  */
   if (n < NUM_FUNCTIONS)
     {
       FAIL ();
-      return;
+      /* Only return if we got no symbols at all.  The partial output is
+        still useful for debugging failures.  */
+      if (n <= 0)
+       return;
     }
   /* Convert them to symbols.  */
   symbols = backtrace_symbols (addresses, n);
@@ -68,10 +72,7 @@ handle_signal (int signum)
     printf ("Function %d: %s\n", i, symbols[i]);
   /* Check that the function names obtained are accurate.  */
   if (!match (symbols[0], "handle_signal"))
-    {
-      FAIL ();
-      return;
-    }
+    FAIL ();
   /* Do not check name for signal trampoline.  */
   for (i = 2; i < n - 1; i++)
     if (!match (symbols[i], "fn"))
This page took 0.119972 seconds and 5 git commands to generate.