This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
[MI/testsuite] mi_gdb_test: expected result priority?
- From: Keith Seitz <keiths at redhat dot com>
- To: <gdb at sources dot redhat dot com>
- Date: Mon, 24 Jun 2002 12:46:06 -0700 (PDT)
- Subject: [MI/testsuite] mi_gdb_test: expected result priority?
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