OSDN Git Service

2005-09-11 Bob Rossi <bob@brasko.net>
authorBob Rossi <bob@brasko.net>
Sun, 11 Sep 2005 20:24:54 +0000 (20:24 +0000)
committerBob Rossi <bob@brasko.net>
Sun, 11 Sep 2005 20:24:54 +0000 (20:24 +0000)
* 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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.mi/mi-console.exp
gdb/testsuite/gdb.mi/mi-syn-frame.exp
gdb/testsuite/lib/mi-support.exp

index 0a86994..43a47bd 100644 (file)
@@ -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>
index 84ae35f..55535f7 100644 (file)
@@ -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
index 28a2f28..6648b3a 100644 (file)
@@ -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\"\}.*\\\]" \
index e1c7d77..4c1d577 100644 (file)
@@ -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"
            }