* lib/mi-support.exp (mi_gdb_test): Change -re to not be anchored.
* gdb.mi/mi-syn-frame.exp: Call mi_gdb_test twice instead of once for
commands that return an MI output command and an asyncronous MI output
command.
* gdb.mi/mi-console.exp: Ditto.
2005-09-11 Bob Rossi <bob@brasko.net>
+ * lib/mi-support.exp (mi_gdb_test): Change -re to not be anchored.
+ * gdb.mi/mi-syn-frame.exp: Call mi_gdb_test twice instead of once for
+ commands that return an MI output command and an asyncronous MI output
+ command.
+ * gdb.mi/mi-console.exp: Ditto.
+
+2005-09-11 Bob Rossi <bob@brasko.net>
+
* gdb.mi/mi-var-child.c: Include <string.h>.
2005-09-10 Daniel Jacobowitz <dan@codesourcery.com>
"47\\^running" \
"Testing console output" \
"Hello \\\\\"!\[\r\n\]+"
-
-gdb_expect {
- -re "47\\*stopped.*$mi_gdb_prompt$" {
- pass "Finished step over hello"
- }
- timeout {
- fail "Finished step over hello (timeout)"
- }
-}
+mi_gdb_test "" "47\\*stopped.*" "Finished step over hello"
+
mi_gdb_exit
return 0
gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
}
-set my_mi_gdb_prompt "\\(gdb\\)\[ \]*\[\r\n\]*"
-
mi_gdb_exit
mi_gdb_start separate-inferior-tty
mi_delete_breakpoints
# Continue back to main()
#
mi_gdb_test "403-exec-continue" \
- "403\\^running\[\r\n\]+${my_mi_gdb_prompt}403\\\*stopped" \
+ "403\\^running" \
"testing exec continue" \
"hi in foo\[\r\n\]\+"
+mi_gdb_test "" "403\\*stopped" "finished exec continue"
+
mi_gdb_test "404-stack-list-frames 0 0" \
"404\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$decimal\"\}.*\\\]" \
"list stack frames"
"list stack frames"
-mi_gdb_test "408-exec-continue" \
- "408\\^running\[\r\n\]+${my_mi_gdb_prompt}408\\\*stopped"
+mi_gdb_test "408-exec-continue" "408\\^running"
+
+mi_gdb_test "" "408\\*stopped.*" "finished exec continue"
mi_gdb_test "409-stack-list-frames 0 0" \
"409\\^done,stack=\\\[frame=\{level=\"0\",addr=\"$hex\",func=\"main\",file=\".*mi-syn-frame.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"$decimal\"\}.*\\\]" \
gdb_start
set result -1
}
- -re "\[\r\n\]*($pattern)\[\r\n\]+$mi_gdb_prompt\[ \]*$" {
+ -re "\[\r\n\]*($pattern)\[\r\n\]+$mi_gdb_prompt\[ \]*" {
+ # NOTE, there is no trailing anchor because with GDB/MI,
+ # asynchronous responses can happen at any point, causing more
+ # data to be available. Normally an anchor is used to make
+ # sure the end of the output is matched, however, $mi_gdb_prompt
+ # is just as good of an anchor since mi_gdb_test is meant to
+ # match a single mi output command. If a second GDB/MI output
+ # response is sent, it will be in the buffer for the next
+ # time mi_gdb_test is called.
if ![string match "" $message] then {
pass "$message"
}