This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: [MI/testsuite] mi_gdb_test: expected result priority?
- From: Elena Zannoni <ezannoni at redhat dot com>
- To: Keith Seitz <keiths at redhat dot com>
- Cc: <gdb at sources dot redhat dot com>
- Date: Mon, 24 Jun 2002 16:19:36 -0400
- Subject: Re: [MI/testsuite] mi_gdb_test: expected result priority?
- References: <Pine.GSO.4.33.0206241238300.24067-100000@makita.cygnus.com>
Keith Seitz writes:
> Hi,
>
> I've been writing some MI tests for all the stuff that I've been adding,
> and I ran across an anomaly...
>
> When mi_gdb_test actually calls expect, it does:
>
> gdb_expect $tmt {
> -re "\\*\\*\\* DOSEXIT code.*" {
> if { $message != "" } {
> fail "$message";
> }
> gdb_suppress_entire_file "GDB died";
> return -1;
> }
> -re "Ending remote debugging.*$mi_gdb_prompt\[ \]*$" {
> if ![isnative] then {
> warning "Can`t communicate to remote target."
> }
> gdb_exit
> gdb_start
> set result -1
> }
> -re "(${question_string})$" {
> send_gdb "$response_string\n";
> exp_continue;
> }
> -re "Undefined.* command:.*$mi_gdb_prompt\[ \]*$" {
> perror "Undefined command \"$command\"."
> fail "$message"
> set result 1
> }
> -re "Ambiguous command.*$mi_gdb_prompt\[ \]*$" {
> perror "\"$command\" is not a unique command name."
> fail "$message"
> set result 1
> }
> -re "\[\r\n\]*($pattern)\[\r\n\]+$mi_gdb_prompt\[ \]*$" {
> if ![string match "" $message] then {
> pass "$message"
> }
> set result 0
> }
>
>
> The astute reader will notice that the _real_ expected pattern by the
> caller is pre-empted by several other patterns. Therefore if one wanted to
> write a test to check for the string "Ambiguous command", well, you'd
> automatically get a fail. Likewise, if you wanted to write a test that
> checked for the string "Undefined command: \"bogus\". Try \"help\"."
> (which I am trying to do), one is screwed.
>
> Is there any particular reason to not move the real expected result
> pattern higher in the list (like to/near the top or something)??
>
> Keith
Hmm, nothing has changed in that procedure since day one. It is kind
of a copy of the gdb_test one in gdb.exp. Maybe you can rearrange the
patterns to be like gdb_test? The 'pass' occurs earlier in there.
Elena