[PATCH] Share the "multi_line" helper among all Ada testcases

Pierre-Marie de Rodat derodat@adacore.com
Mon Jul 20 14:49:00 GMT 2015


Sergio,

On 07/18/2015 02:35 AM, Sergio Durigan Junior wrote:
> Hmm, I am seeing a regression on gdb.ada/info_exc.exp because of this
> patch.  Because of the way multi_line was rewritten it is not possibe
> anymore to mean "anything" again; it will always be at least a newline
> (\r\n).
>
> I've rewritten the test to expect the exact output from "info
> exceptions" (i.e., removing the ".*" parts), but I am not sure this is
> the right thing to do.  Joel/Pierre?

Thank you for the heads-up! I did not notice this when submitting the 
patch... Anyway, I had a look at what commit introduced the ".*" parts:

commit 391d3400084c6a2d805cd0efd925f29347fa7a18
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Fri Nov 15 20:34:09 2013 +0400

     gdb.ada/info_exc.exp,mi_exc_info.exp: handle runtimes with full 
debug info.

     If the runtime has full debug info, then the non-standard exceptions
     declared in the GNAT runtime will appear in the list of exceptions
     printed by GDB ("info exceptions" or "-info-ada-exceptions").
     This is valid output, so this patch allows for it.

So it looks like they are needed for some configuration. Then, what 
about this:

diff --git a/gdb/testsuite/gdb.ada/info_exc.exp 
b/gdb/testsuite/gdb.ada/info_exc.exp
index add83c5..448882b 100644
--- a/gdb/testsuite/gdb.ada/info_exc.exp
+++ b/gdb/testsuite/gdb.ada/info_exc.exp
@@ -34,9 +34,7 @@ gdb_test "info exceptions" \
                  "program_error: $hex" \
                  "storage_error: $hex" \
                  "tasking_error: $hex" \
-                ".*" \
-                "const.aint_global_gdb_e: $hex" \
-                ".*"]
+                "\(.*\r\n\)*const.aint_global_gdb_e: $hex\(.*\r\n\)*"]

  gdb_test "info exceptions task" \
      [multi_line "All Ada exceptions matching regular expression 
\"task\":" \

-- 
Pierre-Marie de Rodat



More information about the Gdb-patches mailing list