This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Share the "multi_line" helper among all Ada testcases
- From: Sergio Durigan Junior <sergiodj at redhat dot com>
- To: Pierre-Marie de Rodat <derodat at adacore dot com>
- Cc: Joel Brobecker <brobecker at adacore dot com>, Pedro Alves <palves at redhat dot com>, GDB Patches <gdb-patches at sourceware dot org>
- Date: Mon, 20 Jul 2015 11:35:18 -0400
- Subject: Re: [PATCH] Share the "multi_line" helper among all Ada testcases
- Authentication-results: sourceware.org; auth=none
- References: <54FEDB92 dot 9060808 at adacore dot com> <20150317200809 dot GD7494 at adacore dot com> <5509492C dot 5000604 at redhat dot com> <20150318141238 dot GE7494 at adacore dot com> <550C100D dot 5000500 at adacore dot com> <87oajas3pb dot fsf at redhat dot com> <55AD0A6E dot 6060604 at adacore dot com>
Hey Pierre,
On Monday, July 20 2015, Pierre-Marie de Rodat wrote:
> 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:
Hm, right, thanks for checking this. I suspected that the ".*" had a
reason to exist...
> 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\":" \
The patch looks good to me and works fine here (though I haven't tested
the case when the output contains more lines than expected). I'm not a
maintainer of this area, so I cannot really approve this.
Thanks!
--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/