2010-05-25 Michael Snyder * gdb.mi/mi-basics.exp: Replace send_gdb with gdb_test. * 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. Index: mi2-basics.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-basics.exp,v retrieving revision 1.16 diff -u -p -r1.16 mi2-basics.exp --- mi2-basics.exp 1 Jan 2010 07:32:03 -0000 1.16 +++ mi2-basics.exp 26 May 2010 00:34:29 -0000 @@ -60,23 +60,19 @@ proc test_mi_interpreter_selection {} { # 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 } @@ -90,14 +86,17 @@ proc test_exec_and_symbol_mi_operatons { # 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. @@ -210,14 +209,13 @@ proc test_path_specification {} { # -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 } } Index: mi2-console.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-console.exp,v retrieving revision 1.14 diff -u -p -r1.14 mi2-console.exp --- mi2-console.exp 1 Jan 2010 07:32:03 -0000 1.14 +++ mi2-console.exp 26 May 2010 00:34:29 -0000 @@ -48,14 +48,10 @@ if { [gdb_compile "${srcdir}/${subdir}/ 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] } { Index: mi2-return.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-return.exp,v retrieving revision 1.12 diff -u -p -r1.12 mi2-return.exp --- mi2-return.exp 1 Jan 2010 07:32:03 -0000 1.12 +++ mi2-return.exp 26 May 2010 00:34:29 -0000 @@ -53,11 +53,9 @@ proc test_return_simple {} { 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" } } } Index: mi2-var-display.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-var-display.exp,v retrieving revision 1.27 diff -u -p -r1.27 mi2-var-display.exp --- mi2-var-display.exp 1 Jan 2010 07:32:03 -0000 1.27 +++ mi2-var-display.exp 26 May 2010 00:34:29 -0000 @@ -605,14 +605,11 @@ mi_gdb_test "-var-list-children anone" \ # 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" Index: mi-basics.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-basics.exp,v retrieving revision 1.24 diff -u -p -r1.24 mi-basics.exp --- mi-basics.exp 1 Jan 2010 07:32:03 -0000 1.24 +++ mi-basics.exp 26 May 2010 00:34:29 -0000 @@ -60,23 +60,19 @@ proc test_mi_interpreter_selection {} { # 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 } @@ -90,14 +86,17 @@ proc test_exec_and_symbol_mi_operatons { # 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. @@ -208,14 +207,13 @@ proc test_path_specification {} { # -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 } } Index: mi-nonstop-exit.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-nonstop-exit.exp,v retrieving revision 1.3 diff -u -p -r1.3 mi-nonstop-exit.exp --- mi-nonstop-exit.exp 1 Jan 2010 07:32:03 -0000 1.3 +++ mi-nonstop-exit.exp 26 May 2010 00:34:29 -0000 @@ -37,14 +37,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir 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$" { } } Index: mi-nonstop.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-nonstop.exp,v retrieving revision 1.11 diff -u -p -r1.11 mi-nonstop.exp --- mi-nonstop.exp 24 Feb 2010 07:51:46 -0000 1.11 +++ mi-nonstop.exp 26 May 2010 00:34:29 -0000 @@ -47,14 +47,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir 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$" { } } @@ -94,14 +93,10 @@ mi_varobj_update * {I_W1 I_W0} "update v 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. @@ -109,14 +104,10 @@ gdb_expect { 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" Index: mi-nsintrall.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-nsintrall.exp,v retrieving revision 1.5 diff -u -p -r1.5 mi-nsintrall.exp --- mi-nsintrall.exp 1 Jan 2010 07:32:03 -0000 1.5 +++ mi-nsintrall.exp 26 May 2010 00:34:29 -0000 @@ -37,14 +37,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir 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$" { } } @@ -78,14 +77,10 @@ for {set i 6} {$i > 0} {incr i -1} { 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"} \ @@ -101,14 +96,10 @@ mi_check_thread_states \ "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 Index: mi-nsmoribund.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-nsmoribund.exp,v retrieving revision 1.5 diff -u -p -r1.5 mi-nsmoribund.exp --- mi-nsmoribund.exp 1 Jan 2010 07:32:03 -0000 1.5 +++ mi-nsmoribund.exp 26 May 2010 00:34:29 -0000 @@ -37,14 +37,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir 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$" { } } @@ -99,14 +98,10 @@ for {set i $nthreads} {$i > 0} {incr i - 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" \ @@ -128,20 +123,14 @@ mi_check_thread_states \ # 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 Index: mi-ns-stale-regcache.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp,v retrieving revision 1.1 diff -u -p -r1.1 mi-ns-stale-regcache.exp --- mi-ns-stale-regcache.exp 29 Apr 2010 16:33:16 -0000 1.1 +++ mi-ns-stale-regcache.exp 26 May 2010 00:34:29 -0000 @@ -51,14 +51,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir 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$" { } } Index: mi-nsthrexec.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-nsthrexec.exp,v retrieving revision 1.2 diff -u -p -r1.2 mi-nsthrexec.exp --- mi-nsthrexec.exp 1 Jan 2010 07:32:03 -0000 1.2 +++ mi-nsthrexec.exp 26 May 2010 00:34:29 -0000 @@ -47,14 +47,13 @@ mi_gdb_reinitialize_dir $srcdir/$subdir 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$" { } } Index: mi-return.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-return.exp,v retrieving revision 1.20 diff -u -p -r1.20 mi-return.exp --- mi-return.exp 1 Jan 2010 07:32:03 -0000 1.20 +++ mi-return.exp 26 May 2010 00:34:29 -0000 @@ -53,11 +53,9 @@ proc test_return_simple {} { 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" } } } Index: mi-var-display.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-var-display.exp,v retrieving revision 1.34 diff -u -p -r1.34 mi-var-display.exp --- mi-var-display.exp 1 Jan 2010 07:32:03 -0000 1.34 +++ mi-var-display.exp 26 May 2010 00:34:29 -0000 @@ -606,14 +606,11 @@ mi_gdb_test "-var-list-children anone" \ # 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"