This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Add autocompletion for convenience vars in print and set
- From: Daniel Gutson <daniel dot gutson at tallertechnologies dot com>
- To: Andrew Burgess <aburgess at broadcom dot com>
- Cc: gdb-patches <gdb-patches at sourceware dot org>
- Date: Tue, 27 May 2014 17:24:40 -0300
- Subject: Re: [PATCH] Add autocompletion for convenience vars in print and set
- Authentication-results: sourceware.org; auth=none
- References: <CAF5HaEUYNe60EPby2Mxbgxy68unMpoxYr8BnQAQNUV_z04wVsw at mail dot gmail dot com> <87tx8ks8yv dot fsf at fleche dot redhat dot com> <CAF5HaEUosXVSvxJQkEp3DgBYMMKGNXnJ-r4LOQV3PDeqfYnptA at mail dot gmail dot com> <5384C12C dot 2020602 at broadcom dot com>
On Tue, May 27, 2014 at 1:45 PM, Andrew Burgess <aburgess@broadcom.com> wrote:
> On 22/05/2014 4:17 PM, Daniel Gutson wrote:
>> Second version.
>> Comments below:
>>
>> On Tue, May 20, 2014 at 1:36 PM, Tom Tromey <tromey@redhat.com> wrote:
>>>>>>>> "Daniel" == Daniel Gutson <daniel.gutson@tallertechnologies.com> writes:
>>>
>>> Daniel> I could not find any testsuite where to add tests for this; if
>>> Daniel> there are, please let me know.
>>>
>>> See testsuite/gdb.base/completion.exp
>>
>> Thanks, I ran all the tests and passed. I did not add a new test
>> case though since I didn't check how to add a new convenience var
>> and undefine it later from the test framework. (Should I try harder?)
>
> I'm not a maintainer, but you'll probably be asked for some tests of
> this (really useful) feature.
>
> I don't think you need to worry about removing any convenience
> variables you create, each .exp test file starts gdb afresh,
> and sometime (look for clean_restart) gdb is restarted within
> a single .exp file.
>
> For this feature you can probably get away with just adding some
> new tests to the end of the completion.exp file, I've included an
> example test in this mail, but you'll probably want some more.
>
> thanks,
> Andrew
>
>
> diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp
> index 2608309..c028548 100644
> --- a/gdb/testsuite/gdb.base/completion.exp
> +++ b/gdb/testsuite/gdb.base/completion.exp
> @@ -747,6 +747,27 @@ gdb_test_multiple "" "$test" {
> }
> }
>
> +set test "complete '\$cv_'"
> +gdb_test_no_output "set \$cv_aaa = 4" \
> + "Create convenience variable \$cv_aaa"
> +send_gdb "p \$cv_"
> +gdb_test_multiple "" "$test" {
> + -re "^p \\\$cv_" {
> + send_gdb "\t"
> + gdb_test_multiple "" "$test" {
> + -re "aaa $" {
> + send_gdb "\n"
> + gdb_test_multiple "" "$test" {
> + -re "\\\$\[0-9\]+ = 4.*$gdb_prompt $" {
> + pass "$test"
> + }
> + }
> + }
> + }
> + }
> +}
> +
> +
> # Restore globals modified in this test...
> set timeout $oldtimeout1
Thanks Andrew!
>
>
>
>
--
Daniel F. Gutson
Chief Engineering Officer, SPD
San Lorenzo 47, 3rd Floor, Office 5
CÃrdoba, Argentina
Phone: +54 351 4217888 / +54 351 4218211
Skype: dgutson