* gdb.reverse/consecutive-reverse.exp: Replace send_gdb with gdb_test.
* gdb.reverse/consecutive-precsave.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-basics.exp:
* gdb.mi/mi-nonstop-exit.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nonstop.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-ns-stale-regcache.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nsintrall.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nsmoribund.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-nsthrexec.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-return.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi-var-display.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-basics.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-console.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-return.exp: Replace send_gdb with gdb_test.
* gdb.mi/mi2-var-display.exp: Replace send_gdb with gdb_test.
-2010-05-25 Michael Snyder <msnyder@vmware.com>
+2010-05-26 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
+
+ * gdb.reverse/consecutive-reverse.exp: Replace send_gdb with gdb_test.
+ * gdb.reverse/consecutive-precsave.exp: Replace send_gdb with gdb_test.
+
+ * gdb.mi/mi-basics.exp:
+ * gdb.mi/mi-nonstop-exit.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-nonstop.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-ns-stale-regcache.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-nsintrall.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-nsmoribund.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-nsthrexec.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-return.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi-var-display.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi2-basics.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi2-console.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi2-return.exp: Replace send_gdb with gdb_test.
+ * gdb.mi/mi2-var-display.exp: Replace send_gdb with gdb_test.
+
+2010-05-26 Michael Snyder <msnyder@vmware.com>
* gdb.ada/formatted_ref.exp: Replace send_gdb with gdb_test.
* gdb.dwarf2/pieces.exp (pieces_test_f3): Mention PR 11636.
-2010-05-25 Michael Snyder <msnyder@vmware.com>
-
- * gdb.ada/formatted_ref.exp: Replace send_gdb with gdb_test.
-
- * gdb.asm/asm-source.exp: Replace send_gdb with gdb_test.
-
- * gdb.cp/annota2.exp: Replace send_gdb with gdb_test.
- * gdb.cp/annota3.exp: Replace send_gdb with gdb_test.
- * gdb.cp/anon-union.exp: Replace send_gdb with gdb_test.
- * gdb.cp/cplusfuncs.exp: Replace send_gdb with gdb_test.
- * gdb.cp/demangle.exp: Replace send_gdb with gdb_test.
- * gdb.cp/formatted-ref.exp: Replace send_gdb with gdb_test.
- * gdb.cp/local.exp: Replace send_gdb with gdb_test.
- * gdb.cp/method.exp: Replace send_gdb with gdb_test.
- * gdb.cp/misc.exp: Replace send_gdb with gdb_test.
- * gdb.cp/namespace.exp: Replace send_gdb with gdb_test.
- * gdb.cp/ovldbreak.exp: Replace send_gdb with gdb_test.
- * gdb.cp/pr-1023.exp: Replace send_gdb with gdb_test.
- * gdb.cp/ref-types.exp: Replace send_gdb with gdb_test.
- * gdb.cp/templates.exp: Replace send_gdb with gdb_test.
- * gdb.cp/userdef.exp: Replace send_gdb with gdb_test.
-
2010-05-25 Michael Snyder <msnyder@vmware.com>
* gdb.base/a2-run.exp: Replace send_gdb with gdb_test.
* gdb.base/bitfields.exp: Replace send_gdb with gdb_test.
* gdb.base/bitfields2.exp: Replace send_gdb with gdb_test.
* gdb.base/bitops.exp: Replace send_gdb with gdb_test.
- * gdb.base/break.exp: Replace send_gdb with gdb_test.
* gdb.base/call-ar-st.exp: Replace send_gdb with gdb_test.
* gdb.base/callfuncs.exp: Replace send_gdb with gdb_test.
* gdb.base/call-rt-st.exp: Replace send_gdb with gdb_test.
* gdb.base/nodebug.exp: Replace send_gdb with gdb_test.
* gdb.base/pointers.exp: Replace send_gdb with gdb_test.
* gdb.base/ptype.exp: Replace send_gdb with gdb_test.
- * gdb.base/relational.exp: Replace send_gdb with gdb_test.
- * gdb.base/relocate.exp: Replace send_gdb with gdb_test.
- * gdb.base/return.exp: Replace send_gdb with gdb_test.
- * gdb.base/return2.exp: Replace send_gdb with gdb_test.
- * gdb.base/sepdebug.exp: Replace send_gdb with gdb_test.
- * gdb.base/setvar.exp: Replace send_gdb with gdb_test.
- * gdb.base/shlib-call.exp: Replace send_gdb with gdb_test.
- * gdb.base/shreloc.exp: Replace send_gdb with gdb_test.
- * gdb.base/sigall.exp: Replace send_gdb with gdb_test.
- * gdb.base/sigbpt.exp: Replace send_gdb with gdb_test.
- * gdb.base/signull.exp: Replace send_gdb with gdb_test.
- * gdb.base/so-impl-ld.exp:Replace send_gdb with gdb_test.
- * gdb.base/varargs.exp: Replace send_gdb with gdb_test.
- * gdb.base/volatile.exp: Replace send_gdb with gdb_test.
- * gdb.base/watch_thread_num.exp: Replace send_gdb with gdb_test.
- * gdb.base/watchpoint.exp: Replace send_gdb with gdb_test.
* gdb.base/whatis.exp: Replace send_gdb with gdb_test.
2010-05-25 Doug Evans <dje@google.com>
# All this test expects is to get the prompt back
# with no syntax error message
- send_gdb "-gdb-version\n"
- gdb_expect {
- -re "GNU gdb .*\r\n$mi_gdb_prompt$" \
- { pass "acceptance of MI operations"
- return 1}
- -re ".*\r\n$mi_gdb_prompt$" \
- { fail "acceptance of MI operations"
- note "Skipping all other MI tests." }
- -re "Undefined command.*$gdb_prompt $" \
- { fail "acceptance of MI operations"
- note "Skipping all other MI tests." }
- -re ".*$gdb_prompt $" \
- { fail "acceptance of MI operations"
- note "Skipping all other MI tests." }
- timeout { fail "acceptance of MI operations (timeout)"
- note "Skipping all other MI tests." }
+ gdb_test_multiple "-gdb-version" "acceptance of MI operations" {
+ -re "GNU gdb .*\r\n$mi_gdb_prompt$" {
+ pass "acceptance of MI operations"
+ return 1
+ }
+ -re ".*\r\n$mi_gdb_prompt$" {
+ fail "acceptance of MI operations"
+ }
+ -re "Undefined command.*$gdb_prompt $" {
+ fail "acceptance of MI operations"
+ }
}
+ note "Skipping all other MI tests."
return 0
}
# Can't use mi_gdb_test as if this doesn't work,
# we must give up on the whole test file
- send_gdb "-file-exec-and-symbols ${binfile}\n"
- gdb_expect {
- -re "\[\r\n\]*\\\^done\r\n$mi_gdb_prompt$" \
- { pass "file-exec-and-symbols operation" }
- timeout { fail "file-exec-and-symbols operation (timeout)"
- note "Skipping all other MI tests."
- return 0}
- }
+ gdb_test_multiple "-file-exec-and-symbols ${binfile}" \
+ "-file-exec-and-symbols ${binfile}" {
+ -re "\[\r\n\]*\\\^done\r\n$mi_gdb_prompt$" {
+ pass "file-exec-and-symbols operation"
+ }
+ timeout {
+ fail "file-exec-and-symbols operation (timeout)"
+ note "Skipping all other MI tests."
+ return 0
+ }
+ }
# The following is not used by mi-support.exp, but we test here so
# we get done with loading a program basics.
# -environment-path -r dir
# -environment-path -r
- send_gdb "-environment-path\n"
- gdb_expect 20 {
+ gdb_test_multiple "-environment-path" "-environment-path" {
-re "\\\^done,path=\"\(.*\)\"\r\n$mi_gdb_prompt" {
- set orig_path $expect_out(1,string);
+ set orig_path $expect_out(1,string);
}
timeout {
- perror "-environment-path (timeout)" ;
- return
+ perror "-environment-path (timeout)" ;
+ return
}
}
mi_gdb_load $binfile
set supported 0
-send_gdb "-gdb-show non-stop\n"
-gdb_expect {
+gdb_test_multiple "-gdb-show non-stop" "" {
-re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
if { $expect_out(1,string) == "1" } {
set supported 1
}
}
- -re ".$mi_gdb_prompt$" {
+ -re ".*$mi_gdb_prompt$" {
}
}
mi_gdb_load $binfile
set supported 0
-send_gdb "-gdb-show non-stop\n"
-gdb_expect {
+gdb_test_multiple "-gdb-show non-stop" "" {
-re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
if { $expect_out(1,string) == "1" } {
set supported 1
}
}
- -re ".$mi_gdb_prompt$" {
+ -re ".*$mi_gdb_prompt$" {
}
}
mi_check_varobj_value I_W0 1 "check varobj, w0, 1"
mi_check_varobj_value I_W1 1 "check varobj, w1, 1"
-send_gdb "-exec-interrupt --thread 1\n"
-gdb_expect {
+gdb_test_multiple "-exec-interrupt --thread 1" "interrupted" {
-re "\\^done\r\n$mi_gdb_prompt\\*stopped\[^\r\n\]+\r\n$" {
pass "interrupted"
}
- timeout {
- fail "interrupted (timeout)"
- }
}
# The interrupt command sends SIGINT to the target, and therefore the
# thread might not be stopped immediately when we return from the target.
sleep 1
mi_check_thread_states {"stopped" "stopped" "stopped"} "thread state, stop 4"
-send_gdb "-exec-continue --all\n"
-gdb_expect {
+gdb_test_multiple "-exec-continue --all" "resume all" {
-re ".*\\*running,thread-id=\"3\"\r\n\\*running,thread-id=\"2\"\r\n\\*running,thread-id=\"1\"\r\n$mi_gdb_prompt" {
pass "resume all"
}
- timeout {
- fail "resume all (timeout)"
- }
}
mi_expect_stop "breakpoint-hit" "break_at_me" "\[^\n\]*" "non-stop.c" "\[0-9\]*" {"" "disp=\"keep\""} "w0,i2 stop"
mi_gdb_load $binfile
set supported 0
-send_gdb "-gdb-show non-stop\n"
-gdb_expect {
+gdb_test_multiple "-gdb-show non-stop" "" {
-re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
if { $expect_out(1,string) == "1" } {
set supported 1
}
}
- -re ".$mi_gdb_prompt$" {
+ -re ".*$mi_gdb_prompt$" {
}
}
mi_gdb_load $binfile
set supported 0
-send_gdb "-gdb-show non-stop\n"
-gdb_expect {
+gdb_test_multiple "-gdb-show non-stop\n" "" {
-re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
if { $expect_out(1,string) == "1" } {
set supported 1
}
}
- -re ".$mi_gdb_prompt$" {
+ -re ".*$mi_gdb_prompt$" {
}
}
set running_re "$running_re\\*running,thread-id=\"$i\"\r\n"
}
-send_gdb "-exec-continue --all\n"
-gdb_expect {
+gdb_test_multiple "-exec-continue --all" "resume all, no breakpoint" {
-re ".*$running_re$mi_gdb_prompt" {
pass "resume all, no breakpoint"
}
- timeout {
- fail "resume all, no breakpoint (timeout)"
- }
}
mi_check_thread_states \
{"running" "running" "running" "running" "running" "running"} \
"thread state, all interrupted"
# resume all threads, and check that no thread is spuriously left interrupted
-send_gdb "-exec-continue --all\n"
-gdb_expect {
+gdb_test_multiple "-exec-continue --all" "resume all after interrupting" {
-re ".*$running_re$mi_gdb_prompt" {
pass "resume all after interrupting"
}
- timeout {
- fail "resume all after interrupting (timeout)"
- }
}
sleep 1
mi_gdb_load $binfile
set supported 0
-send_gdb "-gdb-show non-stop\n"
-gdb_expect {
+gdb_test_multiple "-gdb-show non-stop" "" {
-re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
if { $expect_out(1,string) == "1" } {
set supported 1
}
}
- -re ".$mi_gdb_prompt$" {
+ -re ".*$mi_gdb_prompt$" {
}
}
set running_re "$running_re\\*running,thread-id=\"$decimal\"\r\n"
}
-send_gdb "-exec-continue --all\n"
-gdb_expect {
+gdb_test_multiple "-exec-continue --all" "resume all, thread specific breakpoint" {
-re ".*$running_re$mi_gdb_prompt" {
pass "resume all, thread specific breakpoint"
}
- timeout {
- fail "resume all, thread specific breakpoint (timeout)"
- }
}
mi_expect_stop "breakpoint-hit" "thread_function" "\[^\n\]*" "$srcfile" \
# a target bug if it can step over breakpoints itself), a spurious
# SIGTRAP/SIGSEGV can come at any time after deleting the breakpoint.
-send_gdb "102-break-delete\n"
-send_gdb "print done = 1\n"
-send_gdb "103-exec-continue --all\n"
-
-gdb_expect {
- -re "\\*stopped,reason=\"exited-normally\"" {
- pass "resume all, program exited normally"
- }
- -re "\\*stopped" {
- fail "unexpected stop"
- }
- timeout {
- fail "resume all, waiting for program exit (timeout)"
+gdb_test_multiple "102-break-delete\nprint done = 1\n103-exec-continue --all" \
+ "resume all, program exited normally" {
+ -re "\\*stopped,reason=\"exited-normally\"" {
+ pass "resume all, program exited normally"
+ }
+ -re "\\*stopped" {
+ fail "unexpected stop"
+ }
}
-}
mi_gdb_exit
mi_gdb_load $binfile
set supported 0
-send_gdb "-gdb-show non-stop\n"
-gdb_expect {
+gdb_test_multiple "-gdb-show non-stop" "" {
-re ".*\\^done,value=\"off\",supported=\"(\[^\"\]+)\"\r\n$mi_gdb_prompt$" {
if { $expect_out(1,string) == "1" } {
set supported 1
}
}
- -re ".$mi_gdb_prompt$" {
+ -re ".*$mi_gdb_prompt$" {
}
}
set line_callee3_call [expr $line_callee3_head + 2]
set line_callee3_close_brace [expr $line_callee3_head + 3]
- send_gdb "111-exec-return\n"
- gdb_expect {
- -re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"($line_callee3_call|$line_callee3_close_brace)\"\}\r\n$mi_gdb_prompt$" {pass "return from callee4 now"}
- -re ".*\r\n$mi_gdb_prompt$" { fail "return from callee4 now" }
- timeout { fail "return from callee4 now (timeout)"
+ gdb_test_multiple "111-exec-return" "return from callee4 now" {
+ -re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"($line_callee3_call|$line_callee3_close_brace)\"\}\r\n$mi_gdb_prompt$" {
+ pass "return from callee4 now"
}
}
}
# Record fp
-send_gdb "p/x \$fp\n"
-gdb_expect {
+gdb_test_multiple "p/x \$fp" "print FP register" {
-re ".*($hex).*\\^done\r\n$mi_gdb_prompt$" {
pass "print FP register"
set fp $expect_out(1,string)
}
-# -re ".*" { fail "print FP register"}
- timeout { fail "print FP register (timeout)"}
}
mi_continue_to "incr_a"
# All this test expects is to get the prompt back
# with no syntax error message
- send_gdb "-gdb-version\n"
- gdb_expect {
- -re "GNU gdb .*\r\n$mi_gdb_prompt$" \
- { pass "acceptance of MI operations"
- return 1}
- -re ".*\r\n$mi_gdb_prompt$" \
- { fail "acceptance of MI operations"
- note "Skipping all other MI tests." }
- -re "Undefined command.*$gdb_prompt $" \
- { fail "acceptance of MI operations"
- note "Skipping all other MI tests." }
- -re ".*$gdb_prompt $" \
- { fail "acceptance of MI operations"
- note "Skipping all other MI tests." }
- timeout { fail "acceptance of MI operations (timeout)"
- note "Skipping all other MI tests." }
+ gdb_test_multiple "-gdb-version" "acceptance of MI operations" {
+ -re "GNU gdb .*\r\n$mi_gdb_prompt$" {
+ pass "acceptance of MI operations"
+ return 1
+ }
+ -re ".*\r\n$mi_gdb_prompt$" {
+ fail "acceptance of MI operations"
+ }
+ -re "Undefined command.*$gdb_prompt $" {
+ fail "acceptance of MI operations"
+ }
}
+ note "Skipping all other MI tests."
return 0
}
# Can't use mi_gdb_test as if this doesn't work,
# we must give up on the whole test file
- send_gdb "-file-exec-and-symbols ${binfile}\n"
- gdb_expect {
- -re "\[\r\n\]*\\\^done\r\n$mi_gdb_prompt$" \
- { pass "file-exec-and-symbols operation" }
- timeout { fail "file-exec-and-symbols operation (timeout)"
- note "Skipping all other MI tests."
- return 0}
- }
+ gdb_test_multiple "-file-exec-and-symbols ${binfile}" \
+ "file-exec-and-symbols operation" {
+ -re "\[\r\n\]*\\\^done\r\n$mi_gdb_prompt$" {
+ pass "file-exec-and-symbols operation"
+ }
+ timeout {
+ fail "file-exec-and-symbols operation (timeout)"
+ note "Skipping all other MI tests."
+ return 0
+ }
+ }
# The following is not used by mi-support.exp, but we test here so
# we get done with loading a program basics.
# -environment-path -r dir
# -environment-path -r
- send_gdb "-environment-path\n"
- gdb_expect 20 {
+ gdb_test_multiple "-environment-path" "-environment-path" {
-re "\\\^done,path=\"\(.*\)\"\r\n$mi_gdb_prompt" {
- set orig_path $expect_out(1,string);
+ set orig_path $expect_out(1,string);
}
timeout {
- perror "-environment-path (timeout)" ;
- return
+ perror "-environment-path (timeout)" ;
+ return
}
}
mi_run_to_main
# Next over the hello() call which will produce lots of output
-send_gdb "220-exec-next\n"
-gdb_expect {
+gdb_test_multiple "220-exec-next" "Started step over hello" {
-re "220\\^running\r\n(\\*running,thread-id=\"all\"\r\n)?$mi_gdb_prompt" {
pass "Started step over hello"
}
- timeout {
- fail "Started step over hello (timeout)"
- }
}
if { ![target_info exists gdb,noinferiorio] } {
set line_callee3_call [expr $line_callee3_head + 2]
set line_callee3_close_brace [expr $line_callee3_head + 3]
- send_gdb "111-exec-return\n"
- gdb_expect {
- -re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"($line_callee3_call|$line_callee3_close_brace)\"\}\r\n$mi_gdb_prompt$" {pass "return from callee4 now"}
- -re ".*\r\n$mi_gdb_prompt$" { fail "return from callee4 now" }
- timeout { fail "return from callee4 now (timeout)"
+ gdb_test_multiple "111-exec-return" "return from callee4 now" {
+ -re "111\\^done,frame=\{level=\"0\",addr=\"$hex\",func=\"callee3\",args=\\\[.*\\\],file=\".*basics.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"($line_callee3_call|$line_callee3_close_brace)\"\}\r\n$mi_gdb_prompt$" {
+ pass "return from callee4 now"
}
}
}
# Record fp
-send_gdb "p/x \$fp\n"
-gdb_expect {
+gdb_test_multiple "p/x \$fp" "print FP register" {
-re ".*($hex).*\\^done\r\n$mi_gdb_prompt$" {
pass "print FP register"
set fp $expect_out(1,string)
}
-# -re ".*" { fail "print FP register"}
- timeout { fail "print FP register (timeout)"}
}
mi_continue_to "incr_a"
set foo2_addr 0
set stop_addr 0
-send_gdb "x /2i \$pc\n"
-gdb_expect {
+gdb_test_multiple "x /2i \$pc" "get breakpoint address for foo" {
global hex
global foo1_addr
global foo2_addr
set foo2_addr $expect_out(2,string)
pass "get breakpoint address for foo"
}
- -re ".*$gdb_prompt $" {
- fail "get breakpoint address for foo"
- return 0;
- }
- timeout {
- fail "get breakpoint address for foo (timeout)"
- return 0;
- }
}
gdb_test "break \*$foo2_addr" "Breakpoint $decimal at $foo2_addr: file .*" \
}
}
-re "Breakpoint $decimal, foo.*$gdb_prompt $" {
- send_gdb "print \$pc == $foo1_addr\n"
- gdb_expect {
- -re "$decimal = 1\[\r\n\]+$gdb_prompt $" {
- pass "$test_msg"
- }
- -re "$decimal = 0\[\r\n\]+$gdb_prompt $" {
- fail "$test_msg (wrong address)"
- }
- }
- }
- -re ".*$gdb_prompt $" {
- fail "$test_msg"
+ gdb_test "print \$pc == $foo1_addr" \
+ "$decimal = 1" \
+ "$test_msg"
}
}
set foo2_addr 0
set stop_addr 0
-send_gdb "x /2i \$pc\n"
-gdb_expect {
+gdb_test_multiple "x /2i \$pc" "get breakpoint address for foo" {
global hex
global foo1_addr
global foo2_addr
set foo2_addr $expect_out(2,string)
pass "get breakpoint address for foo"
}
- -re ".*$gdb_prompt $" {
- fail "get breakpoint address for foo"
- return 0;
- }
- timeout {
- fail "get breakpoint address for foo (timeout)"
- return 0;
- }
}
gdb_test "break \*$foo2_addr" "Breakpoint $decimal at $foo2_addr: file .*" \
}
}
-re "Breakpoint $decimal, foo.*$gdb_prompt $" {
- send_gdb "print \$pc == $foo1_addr\n"
- gdb_expect {
- -re "$decimal = 1\[\r\n\]+$gdb_prompt $" {
- pass "$test_msg"
- }
- -re "$decimal = 0\[\r\n\]+$gdb_prompt $" {
- fail "$test_msg (wrong address)"
- }
- }
- }
- -re ".*$gdb_prompt $" {
- fail "$test_msg"
+ gdb_test "print \$pc == $foo1_addr" \
+ "$decimal = 1" \
+ "$test_msg"
}
}