diff options
author | Bob Rossi <bob@brasko.net> | 2005-09-11 20:24:54 +0000 |
---|---|---|
committer | Bob Rossi <bob@brasko.net> | 2005-09-11 20:24:54 +0000 |
commit | 40e55befbf32a76e0fe56029b04bfe946a0e3a83 (patch) | |
tree | eca636b80a68f72146b6ebe11da620c279ca6590 | |
parent | 3c7385ece05be8c90506eb49a16a45223d4f736a (diff) | |
download | gdb-40e55befbf32a76e0fe56029b04bfe946a0e3a83.zip gdb-40e55befbf32a76e0fe56029b04bfe946a0e3a83.tar.gz gdb-40e55befbf32a76e0fe56029b04bfe946a0e3a83.tar.bz2 |
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.
-rw-r--r-- | gdb/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.mi/mi-console.exp | 11 | ||||
-rw-r--r-- | gdb/testsuite/gdb.mi/mi-syn-frame.exp | 11 | ||||
-rw-r--r-- | gdb/testsuite/lib/mi-support.exp | 10 |
4 files changed, 25 insertions, 15 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 0a86994..43a47bd 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,13 @@ 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> diff --git a/gdb/testsuite/gdb.mi/mi-console.exp b/gdb/testsuite/gdb.mi/mi-console.exp index 84ae35f..55535f7 100644 --- a/gdb/testsuite/gdb.mi/mi-console.exp +++ b/gdb/testsuite/gdb.mi/mi-console.exp @@ -58,15 +58,8 @@ mi_gdb_test "47-exec-next" \ "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 diff --git a/gdb/testsuite/gdb.mi/mi-syn-frame.exp b/gdb/testsuite/gdb.mi/mi-syn-frame.exp index 28a2f28..6648b3a 100644 --- a/gdb/testsuite/gdb.mi/mi-syn-frame.exp +++ b/gdb/testsuite/gdb.mi/mi-syn-frame.exp @@ -35,8 +35,6 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb 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 @@ -61,10 +59,12 @@ mi_gdb_test "402-stack-list-frames" "402\\^done,stack=\\\[frame=\{level=\"0\",ad # 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" @@ -91,8 +91,9 @@ mi_gdb_test "407-stack-list-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\"\}.*\\\]" \ diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index e1c7d77..4c1d577 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -659,7 +659,15 @@ proc mi_gdb_test { args } { 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" } |