* lib/gdb.exp (gdb_test_sequence): Return result of gdb_expect_list.
authorDoug Evans <dje@google.com>
Tue, 30 Nov 2010 17:41:14 +0000 (17:41 +0000)
committerDoug Evans <dje@google.com>
Tue, 30 Nov 2010 17:41:14 +0000 (17:41 +0000)
(gdb_expect_list): Fix spelling errors in comments.
* gdb.arch/system-gcore.exp: Use gdb_test_sequence instead of
send_gdb/gdb_expect_list where applicable.
* gdb.base/call-ar-st.exp: Ditto.
* gdb.base/funcargs.exp: Ditto.
* gdb.base/gcore.exp: Ditto.
* gdb.base/page.exp: Ditto.
* gdb.base/sigaltstack.exp: Ditto.
* gdb.base/siginfo.exp: Ditto.
* gdb.base/sigstep.exp: Ditto.
* gdb.base/trace-commands.exp: Ditto.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/system-gcore.exp
gdb/testsuite/gdb.base/call-ar-st.exp
gdb/testsuite/gdb.base/funcargs.exp
gdb/testsuite/gdb.base/gcore.exp
gdb/testsuite/gdb.base/page.exp
gdb/testsuite/gdb.base/sigaltstack.exp
gdb/testsuite/gdb.base/siginfo.exp
gdb/testsuite/gdb.base/sigstep.exp
gdb/testsuite/gdb.base/trace-commands.exp
gdb/testsuite/lib/gdb.exp

index b5aea2e..a57716d 100644 (file)
@@ -1,3 +1,18 @@
+2010-11-30  Doug Evans  <dje@google.com>
+
+       * lib/gdb.exp (gdb_test_sequence): Return result of gdb_expect_list.
+       (gdb_expect_list): Fix spelling errors in comments.
+       * gdb.arch/system-gcore.exp: Use gdb_test_sequence instead of
+       send_gdb/gdb_expect_list where applicable.
+       * gdb.base/call-ar-st.exp: Ditto.
+       * gdb.base/funcargs.exp: Ditto.
+       * gdb.base/gcore.exp: Ditto.
+       * gdb.base/page.exp: Ditto.
+       * gdb.base/sigaltstack.exp: Ditto.
+       * gdb.base/siginfo.exp: Ditto.
+       * gdb.base/sigstep.exp: Ditto.
+       * gdb.base/trace-commands.exp: Ditto.
+
 2010-11-29  Doug Evans  <dje@google.com>
 
        * gdb.python/py-pp-maint.exp: Change printer-name:subprinter-name to
index 3a86c4b..723c4c6 100644 (file)
@@ -154,17 +154,16 @@ gdb_expect {
     }
 }
 
-send_gdb "where\n"
-gdb_expect_list "where in corefile" ".*$gdb_prompt $" {
-    ".*\[\r\n\]+#0 .* terminal_func \\(\\) at "
-    ".*\[\r\n\]+#1 .* array_func \\(\\) at "
-    ".*\[\r\n\]+#2 .* factorial_func \\(value=1\\) at "
-    ".*\[\r\n\]+#3 .* factorial_func \\(value=2\\) at "
-    ".*\[\r\n\]+#4 .* factorial_func \\(value=3\\) at "
-    ".*\[\r\n\]+#5 .* factorial_func \\(value=4\\) at "
-    ".*\[\r\n\]+#6 .* factorial_func \\(value=5\\) at "
-    ".*\[\r\n\]+#7 .* factorial_func \\(value=6\\) at "
-    ".*\[\r\n\]+#8 .* main \\(.*\\) at "
+gdb_test_sequence "where" "where in corefile" {
+    "\[\r\n\]+#0 .* terminal_func \\(\\) at "
+    "\[\r\n\]+#1 .* array_func \\(\\) at "
+    "\[\r\n\]+#2 .* factorial_func \\(value=1\\) at "
+    "\[\r\n\]+#3 .* factorial_func \\(value=2\\) at "
+    "\[\r\n\]+#4 .* factorial_func \\(value=3\\) at "
+    "\[\r\n\]+#5 .* factorial_func \\(value=4\\) at "
+    "\[\r\n\]+#6 .* factorial_func \\(value=5\\) at "
+    "\[\r\n\]+#7 .* factorial_func \\(value=6\\) at "
+    "\[\r\n\]+#8 .* main \\(.*\\) at "
 }
 
 set post_corefile_regs [capture_command_output "info registers" ""]
index 35525aa..5c18f2a 100644 (file)
@@ -86,21 +86,19 @@ gdb_test continue \
 #call print_double_array(double_array)
 if {![gdb_skip_float_test "print print_double_array(double_array)"] && \
     ![gdb_skip_stdio_test "print print_double_array(double_array)"] } {
-  send_gdb "print print_double_array(double_array)\n"
-  gdb_expect_list "print print_double_array(double_array)" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_double_array(double_array)" "" {
        "\[ \t\r\n\]+array_d :"
        "\[ \t\r\n\]+========="
        "\[ \t\r\n\]+0.000000"
        "\[ \t\r\n\]+23.456\[0-9\]*  46.913\[0-9\]*  70.370\[0-9\]*  93.826\[0-9\]*  117.283\[0-9\]*  140.740\[0-9\]*  164.196\[0-9\]*  187.653\[0-9\]"
        "\[ \t\r\n\]+"
-  }
+    }
 }
 
 #call print_char_array(char_array)
 
 if ![gdb_skip_stdio_test "print_char_array(char_array)"] {
-    send_gdb "print print_char_array(char_array)\n"
-    gdb_expect_list "print print_char_array(char_array)" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_char_array(char_array)" "" {
        "\[ \t\r\n\]+array_c :"
        "\[ \t\r\n\]+========="
        "\[ \t\r\n\]+\[ \t\r\n\]+Z"
@@ -110,17 +108,13 @@ if ![gdb_skip_stdio_test "print_char_array(char_array)"] {
     }
 }
 
-
-
-
 #go -until 1216
 gdb_test "tbreak 1216" \
 "Temporary breakpoint.*file.*$srcfile, line 1216.*" \
 "tbreakpoint line 1216"
 
 if ![gdb_skip_stdio_test "continue to 1216"] {
-    send_gdb "continue\n"
-    gdb_expect_list "continue to 1216" ".*$gdb_prompt $" {
+    gdb_test_sequence "continue" "continue to 1216" {
        "\[ \t\r\n\]+array_c :"
        "\[ \t\r\n\]+========="
        "\[ \t\r\n\]+\[ \t\r\n\]+Z"
@@ -154,18 +148,17 @@ gdb_test "tbreak 1220" \
 
 if {![gdb_skip_float_test "continuing to breakpoint 1220"] && \
     ![gdb_skip_stdio_test "continuing to breakpoint 1220"] } {
-    send_gdb "continue\n"
-    gdb_expect_list "continuing to breakpoint 1220" ".*$gdb_prompt $" {
+    gdb_test_sequence "continue" "continuing to breakpoint 1220" {
        "Continuing\\."
        "\[ \t\r\n\]+array_d :"
        "\[ \t\r\n\]+========="
        "\[ \t\r\n\]+0.000000"
        "\[ \t\r\n\]+23.456\[0-9\]*  46.913\[0-9\]*  70.370\[0-9\]*  93.826\[0-9\]*  117.283\[0-9\]*  140.740\[0-9\]*  164.196\[0-9\]*  187.653\[0-9\]*"
        "\[ \t\r\n\]+"
-       ".*array_f :"
-       ".*student id :\[\t \]+.*YELLOW"
-       ".*array_i :"
-       ".*main \\(\\) at .*call-ar-st.c:1220\[ \t\r\n\]+.*print_all_arrays\\(integer_array, char_array, float_array, double_array\\)."
+       "array_f :"
+       "student id :\[\t \]+.*YELLOW"
+       "array_i :"
+       "main \\(\\) at .*call-ar-st.c:1220\[ \t\r\n\]+.*print_all_arrays\\(integer_array, char_array, float_array, double_array\\)."
     }
 } else {
     gdb_test "continue" ".*" ""
@@ -188,8 +181,7 @@ if ![gdb_skip_stdio_test "next over print_int_array in print_all_arrays"] {
 #call print_double_array(array_d)
 if {![gdb_skip_float_test "print print_double_array(array_d)"] && \
     ![gdb_skip_stdio_test "print print_double_array(array_d)"] } {
-    send_gdb "print print_double_array(array_d)\n"
-    gdb_expect_list "print print_double_array(array_d)" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_double_array(array_d)" "" {
        "array_d :"
        "\[ \t\r\n\]+========="
        "\[ \t\r\n\]+\[ \t\r\n\]+0.000000"
@@ -205,10 +197,9 @@ gdb_test "tbreak 1236" \
 
 if {![gdb_skip_float_test "continuing to 1236"] && \
     ![gdb_skip_stdio_test "continuing to 1236"] } {
-    send_gdb "continue\n"
-    gdb_expect_list "continuing to 1236"  ".*$gdb_prompt $" {
+    gdb_test_sequence "continue" "continuing to 1236" {
        "Continuing\\..*array_c"
-       ".*array_f"
+       "array_f"
        "\[ \t\r\n\]+array_d :"
        "\[ \t\r\n\]+========="
        "\[ \t\r\n\]+0.000000"
@@ -304,8 +295,7 @@ if ![gdb_skip_stdio_test "continuing to 1281"] {
 
 if {![gdb_skip_float_test "print print_small_structs(...)"] && \
     ![gdb_skip_stdio_test "print print_small_structs(...)"] } {
-    send_gdb "print print_small_structs(*struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3)\n"
-    gdb_expect_list "print print_small_structs" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_small_structs(*struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3)" "print print_small_structs" {
        "\[\t\r\n \]+alpha"
        "\[\t\r\n \]+gamma"
        "\[\t\r\n \]+epsilon"
@@ -353,8 +343,7 @@ gdb_test "print compute_with_small_structs(20)" \
 
 if {![gdb_skip_float_test "print print_ten_doubles(...)"] && \
     ![gdb_skip_stdio_test "print print_ten_doubles(...)"]} {
-    send_gdb "print print_ten_doubles(123.456, 123.456, -0.12, -1.23, 343434.8, 89.098, 3.14, -5678.12345, -0.11111111, 216.97065)\n"
-    gdb_expect_list "print print_ten_doubles" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_ten_doubles(123.456, 123.456, -0.12, -1.23, 343434.8, 89.098, 3.14, -5678.12345, -0.11111111, 216.97065)" "print print_ten_doubles" {
        "\[\t\r\n \]+Two Doubles : 123.45\[0-9\]*.*123.45\[0-9\]*"
        "\[\t\r\n \]+Two Doubles : -0.1200\[0-9\]*.*-1.2300\[0-9\]*"
        "\[\t\r\n \]+Two Doubles : 343434.\[0-9\]*.*89.09\[0-9\]*"
@@ -428,8 +417,7 @@ if {![gdb_skip_float_test "print_small_structs from print_long_arg_list"] && \
        setup_kfail "gdb/1539" "sparc-*-*"
     }
 
-    send_gdb "print print_small_structs(struct1, struct2, struct3, struct4, flags, flags_combo, three_char, five_char, int_char_combo, d1, d2, d3, f1, f2, f3)\n"
-    gdb_expect_list "print print_small_structs from print_long_arg_list" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_small_structs(struct1, struct2, struct3, struct4, flags, flags_combo, three_char, five_char, int_char_combo, d1, d2, d3, f1, f2, f3)" "print print_small_structs from print_long_arg_list" {
        "\[\t\r\n \]+alpha"
        "\[\t\r\n \]+gamma"
        "\[\t\r\n \]+epsilon"
@@ -510,8 +498,7 @@ if {$hp_aCC_compiler} {setup_xfail "hppa*-*-*" CLLbs16994}
 
 if {![gdb_skip_float_test "print print_long_arg_list"] && \
     ![gdb_skip_stdio_test "print print_long_arg_list"] } {
-    send_gdb "print print_long_arg_list(a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3)\n"
-    gdb_expect_list "print print_long_arg_list" ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_long_arg_list(a, b, c, d, e, f, *struct1, *struct2, *struct3, *struct4, *flags, *flags_combo, *three_char, *five_char, *int_char_combo, *d1, *d2, *d3, *f1, *f2, *f3)" "print print_long_arg_list" {
        "\[ \n\r\t\]+double : 22.250000"
        "\[ \n\r\t\]+double : 33.375000"
        "\[ \n\r\t\]+int : 0"
@@ -571,9 +558,8 @@ if ![gdb_skip_stdio_test "print sum_struct_print(...)"] {
 
 #call print_struct_rep(*struct1, *struct2, *struct3)
 if ![gdb_skip_stdio_test "print print_struct_rep(...)"] {
-    send_gdb "print print_struct_rep(*struct1, *struct2, *struct3)\n"
-    gdb_expect_list "print print_struct_rep(*struct1, *struct2, *struct3)" \
-           ".*$gdb_prompt $" {
+    gdb_test_sequence "print print_struct_rep(*struct1, *struct2, *struct3)" \
+       "print print_struct_rep(*struct1, *struct2, *struct3)" {
        "\[ \t\n\r\]+Contents of struct1:"
        "\[ \t\n\r\]+        22         0"
        "\[ \t\n\r\]+Contents of struct2:"
index 10f135e..0b6e922 100644 (file)
@@ -469,11 +469,10 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6b
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6b" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* main \\(.*\\) " 
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6b" {
+       "\[\r\n\]#0 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -483,12 +482,11 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6c
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6c" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6c" {
+       "\[\r\n\]#0 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -497,13 +495,12 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6d
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6d" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6d" {
+       "\[\r\n\]#0 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -513,14 +510,13 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6e
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6e" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6e" {
+       "\[\r\n\]#0 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -530,15 +526,14 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6f
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6f" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#6 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6f" {
+       "\[\r\n\]#0 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#6 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -548,16 +543,15 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6g
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6g" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#6 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#7 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6g" {
+       "\[\r\n\]#0 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#6 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#7 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -567,17 +561,16 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6h
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6h" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6h \\(us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#6 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#7 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#8 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6h" {
+       "\[\r\n\]#0 .* call6h \\(us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#6 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#7 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#8 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -594,18 +587,17 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6i
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6i" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6i \\(ui=7, ul=8\\) "
-       ".*\[\r\n\]#1 .* call6h \\(us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#6 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#7 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#8 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#9 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6i" {
+       "\[\r\n\]#0 .* call6i \\(ui=7, ul=8\\) "
+       "\[\r\n\]#1 .* call6h \\(us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#6 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#7 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#8 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#9 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -615,19 +607,18 @@ proc discard_and_shuffle {} {
 
     gdb_continue call6j
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6j" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6j \\(ul=8\\) "
-       ".*\[\r\n\]#1 .* call6i \\(ui=7, ul=8\\) "
-       ".*\[\r\n\]#2 .* call6h \\(us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#6 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#7 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#8 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#9 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#10 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6j" {
+       "\[\r\n\]#0 .* call6j \\(ul=8\\) "
+       "\[\r\n\]#1 .* call6i \\(ui=7, ul=8\\) "
+       "\[\r\n\]#2 .* call6h \\(us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#6 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#7 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#8 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#9 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#10 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -636,20 +627,19 @@ proc discard_and_shuffle {} {
     # Print backtrace.
     gdb_continue call6k
 
-    send_gdb "backtrace 100\n"
-    if [gdb_expect_list "backtrace from call6k" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call6k \\(\\) "
-       ".*\[\r\n\]#1 .* call6j \\(ul=8\\) "
-       ".*\[\r\n\]#2 .* call6i \\(ui=7, ul=8\\) "
-       ".*\[\r\n\]#3 .* call6h \\(us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#4 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#5 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#6 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#7 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#8 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#9 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#10 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
-       ".*\[\r\n\]#11 .* main \\(.*\\) "
+    if [gdb_test_sequence "backtrace 100" "backtrace from call6k" {
+       "\[\r\n\]#0 .* call6k \\(\\) "
+       "\[\r\n\]#1 .* call6j \\(ul=8\\) "
+       "\[\r\n\]#2 .* call6i \\(ui=7, ul=8\\) "
+       "\[\r\n\]#3 .* call6h \\(us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#4 .* call6g \\(uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#5 .* call6f \\(d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#6 .* call6e \\(f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#7 .* call6d \\(l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#8 .* call6c \\(i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#9 .* call6b \\(s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#10 .* call6a \\(c=97 'a', s=1, i=2, l=3, f=4, d=5, uc=98 'b', us=6, ui=7, ul=8\\) "
+       "\[\r\n\]#11 .* main \\(.*\\) at "
     } ] {
        gdb_suppress_tests;
     }
@@ -708,11 +698,10 @@ proc shuffle_round_robin {} {
 
     if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7b" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#1 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#2 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7b" {
+       "\[\r\n\]#0 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#1 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#2 .* main \\(.*\\) at "
     }
 
     # Continue; should stop at call7c and print actual arguments.
@@ -720,12 +709,11 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7c
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7c" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#1 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#2 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#3 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7c" {
+       "\[\r\n\]#0 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#1 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#2 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#3 .* main \\(.*\\) at "
     }
 
     # Continue; should stop at call7d and print actual arguments.
@@ -733,25 +721,23 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7d
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7d" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#1 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#2 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#3 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#4 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7d" {
+       "\[\r\n\]#0 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#1 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#2 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#3 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#4 .* main \\(.*\\) at "
     }
 
     gdb_continue call7e
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7e" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#1 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#2 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#3 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#4 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#5 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7e" {
+       "\[\r\n\]#0 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#1 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#2 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#3 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#4 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#5 .* main \\(.*\\) at "
     }
 
     # Continue; should stop at call7f and print actual arguments.
@@ -759,15 +745,14 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7f
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7f" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
-       ".*\[\r\n\]#1 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#2 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#3 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#4 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#5 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#6 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7f" {
+       "\[\r\n\]#0 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
+       "\[\r\n\]#1 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#2 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#3 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#4 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#5 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#6 .* main \\(.*\\) at "
     }
 
     # Continue; should stop at call7g and print actual arguments.
@@ -775,31 +760,29 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7g
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7g" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
-       ".*\[\r\n\]#1 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
-       ".*\[\r\n\]#2 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#3 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#4 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#5 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#6 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#7 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7g" {
+       "\[\r\n\]#0 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
+       "\[\r\n\]#1 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
+       "\[\r\n\]#2 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#3 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#4 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#5 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#6 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#7 .* main \\(.*\\) at "
     }
 
     gdb_continue call7h
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7h" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
-       ".*\[\r\n\]#1 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
-       ".*\[\r\n\]#2 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
-       ".*\[\r\n\]#3 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#4 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#5 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#6 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#7 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#8 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7h" {
+       "\[\r\n\]#0 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
+       "\[\r\n\]#1 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
+       "\[\r\n\]#2 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
+       "\[\r\n\]#3 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#4 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#5 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#6 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#7 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#8 .* main \\(.*\\) at "
     }
 
     # monitor only allows 8 breakpoints; w89k board allows 10, so
@@ -814,18 +797,17 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7i
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7i" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) "
-       ".*\[\r\n\]#1 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
-       ".*\[\r\n\]#2 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
-       ".*\[\r\n\]#3 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
-       ".*\[\r\n\]#4 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#5 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#6 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#7 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#8 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#9 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7i" {
+       "\[\r\n\]#0 .* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) "
+       "\[\r\n\]#1 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
+       "\[\r\n\]#2 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
+       "\[\r\n\]#3 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
+       "\[\r\n\]#4 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#5 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#6 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#7 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#8 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#9 .* main \\(.*\\) at "
     }
 
     # Continue; should stop at call7j and print actual arguments.
@@ -833,19 +815,18 @@ proc shuffle_round_robin {} {
 
     gdb_continue call7j
 
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7j" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) "
-       ".*\[\r\n\]#1 .* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) "
-       ".*\[\r\n\]#2 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
-       ".*\[\r\n\]#3 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
-       ".*\[\r\n\]#4 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
-       ".*\[\r\n\]#5 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#6 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#7 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#8 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#9 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#10 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7j" {
+       "\[\r\n\]#0 .* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) "
+       "\[\r\n\]#1 .* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) "
+       "\[\r\n\]#2 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
+       "\[\r\n\]#3 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
+       "\[\r\n\]#4 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
+       "\[\r\n\]#5 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#6 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#7 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#8 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#9 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#10 .* main \\(.*\\) at "
     }
 
     # Continue; should stop at call7k and print actual arguments.
@@ -854,20 +835,19 @@ proc shuffle_round_robin {} {
     gdb_continue call7k
 
     if {!$gcc_compiled} then { setup_xfail "mips-sgi-irix*" }
-    send_gdb "backtrace 100\n"
-    gdb_expect_list "backtrace from call7k" ".*$gdb_prompt $" {
-       ".*\[\r\n\]#0 .* call7k \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#1 .* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) "
-       ".*\[\r\n\]#2 .* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) "
-       ".*\[\r\n\]#3 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
-       ".*\[\r\n\]#4 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
-       ".*\[\r\n\]#5 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
-       ".*\[\r\n\]#6 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
-       ".*\[\r\n\]#7 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
-       ".*\[\r\n\]#8 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
-       ".*\[\r\n\]#9 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
-       ".*\[\r\n\]#10 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
-       ".*\[\r\n\]#11 .* main \\(.*\\) "
+    gdb_test_sequence "backtrace 100" "backtrace from call7k" {
+       "\[\r\n\]#0 .* call7k \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#1 .* call7j \\(ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8\\) "
+       "\[\r\n\]#2 .* call7i \\(ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6\\) "
+       "\[\r\n\]#3 .* call7h \\(us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5\\) "
+       "\[\r\n\]#4 .* call7g \\(d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b'\\) "
+       "\[\r\n\]#5 .* call7f \\(uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3, f=4\\) "
+       "\[\r\n\]#6 .* call7e \\(f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1, l=3\\) "
+       "\[\r\n\]#7 .* call7d \\(l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2, s=1\\) "
+       "\[\r\n\]#8 .* call7c \\(s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a', i=2\\) "
+       "\[\r\n\]#9 .* call7b \\(i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7, c=97 'a'\\) "
+       "\[\r\n\]#10 .* call7a \\(c=97 'a', i=2, s=1, l=3, f=4, uc=98 'b', d=5, us=6, ul=8, ui=7\\) "
+       "\[\r\n\]#11 .* main \\(.*\\) at "
     }
     gdb_stop_suppressing_tests;
 }
@@ -896,16 +876,15 @@ proc recursive_structs_by_value {} {
     }
 
     if ![istarget sparclet-*-*] {
-       send_gdb "backtrace 100\n"
-       gdb_expect_list "recursive passing of structs by value" ".*$gdb_prompt $" {
-           ".*\[\r\n\]#0 .* hitbottom \\(\\) "
-           ".*\[\r\n\]#1 .* recurse \\(a=\{s = 0, i = 0, l = 0\}, depth=0\\) "
-           ".*\[\r\n\]#2 .* recurse \\(a=\{s = 1, i = 1, l = 1\}, depth=1\\) "
-           ".*\[\r\n\]#3 .* recurse \\(a=\{s = 2, i = 2, l = 2\}, depth=2\\) "
-           ".*\[\r\n\]#4 .* recurse \\(a=\{s = 3, i = 3, l = 3\}, depth=3\\) "
-           ".*\[\r\n\]#5 .* recurse \\(a=\{s = 4, i = 4, l = 4\}, depth=4\\) "
-           ".*\[\r\n\]#6 .* test_struct_args \\(\\) "
-           ".*\[\r\n\]#7 .* main \\(.*\\) "
+       gdb_test_sequence "backtrace 100" "recursive passing of structs by value" {
+           "\[\r\n\]#0 .* hitbottom \\(\\) "
+           "\[\r\n\]#1 .* recurse \\(a=\{s = 0, i = 0, l = 0\}, depth=0\\) "
+           "\[\r\n\]#2 .* recurse \\(a=\{s = 1, i = 1, l = 1\}, depth=1\\) "
+           "\[\r\n\]#3 .* recurse \\(a=\{s = 2, i = 2, l = 2\}, depth=2\\) "
+           "\[\r\n\]#4 .* recurse \\(a=\{s = 3, i = 3, l = 3\}, depth=3\\) "
+           "\[\r\n\]#5 .* recurse \\(a=\{s = 4, i = 4, l = 4\}, depth=4\\) "
+           "\[\r\n\]#6 .* test_struct_args \\(\\) "
+           "\[\r\n\]#7 .* main \\(.*\\) at "
        }
     } else {
        fail "recursive passing of structs by value (sparclet)"
index 0da0c75..c060a2e 100644 (file)
@@ -138,17 +138,16 @@ gdb_test_multiple "core ${objdir}/${subdir}/gcore.test" \
     }
 }
 
-send_gdb "where\n"
-gdb_expect_list "where in corefile" ".*$gdb_prompt $" {
-    ".*\[\r\n\]+#0 .* terminal_func \\(\\) at "
-    ".*\[\r\n\]+#1 .* array_func \\(\\) at "
-    ".*\[\r\n\]+#2 .* factorial_func \\(value=1\\) at "
-    ".*\[\r\n\]+#3 .* factorial_func \\(value=2\\) at "
-    ".*\[\r\n\]+#4 .* factorial_func \\(value=3\\) at "
-    ".*\[\r\n\]+#5 .* factorial_func \\(value=4\\) at "
-    ".*\[\r\n\]+#6 .* factorial_func \\(value=5\\) at "
-    ".*\[\r\n\]+#7 .* factorial_func \\(value=6\\) at "
-    ".*\[\r\n\]+#8 .* main \\(.*\\) at "
+gdb_test_sequence "where" "where in corefile" {
+    "\[\r\n\]+#0 .* terminal_func \\(\\) at "
+    "\[\r\n\]+#1 .* array_func \\(\\) at "
+    "\[\r\n\]+#2 .* factorial_func \\(value=1\\) at "
+    "\[\r\n\]+#3 .* factorial_func \\(value=2\\) at "
+    "\[\r\n\]+#4 .* factorial_func \\(value=3\\) at "
+    "\[\r\n\]+#5 .* factorial_func \\(value=4\\) at "
+    "\[\r\n\]+#6 .* factorial_func \\(value=5\\) at "
+    "\[\r\n\]+#7 .* factorial_func \\(value=6\\) at "
+    "\[\r\n\]+#8 .* main \\(.*\\) at "
 }
 
 set post_corefile_regs [capture_command_output "info registers" ""]
index 7d4150a..e70f8ef 100644 (file)
@@ -25,8 +25,7 @@ gdb_start
 
 gdb_test_no_output "set pagination off"
 gdb_test "show pagination" "State of pagination is off.*" "pagination is off"
-send_gdb "help\n"
-gdb_expect_list "unpaged help" ".*$gdb_prompt $" {
+gdb_test_sequence "help" "unpaged help" {
     "List of classes of commands:"
     ""
     "aliases -- Aliases of other commands"
index 869e89f..2779508 100644 (file)
@@ -63,8 +63,7 @@ gdb_test "continue" ".* catcher .*" "continue to catch"
 gdb_test "next"
 
 # Full backtrace?
-send_gdb "bt\n"
-gdb_expect_list "backtrace" ".*$gdb_prompt $" {
+gdb_test_sequence "bt" "backtrace" {
     "\[\r\n\]+.0 \[^\r\n\]* catcher "
     "\[\r\n\]+.1  .signal handler called."
     "\[\r\n\]+.2 \[^\r\n\]* thrower .next_level=INNER"
@@ -72,7 +71,7 @@ gdb_expect_list "backtrace" ".*$gdb_prompt $" {
     "\[\r\n\]+.4  .signal handler called."
     "\[\r\n\]+.5 \[^\r\n\]* thrower .next_level=OUTER"
     "\[\r\n\]+.6 \[^\r\n\]* catcher "
-    "\[\r\n\]+.7 \[^\r\n\]* main .*"
+    "\[\r\n\]+.7 \[^\r\n\]* main "
 }
 
 proc finish_test { pattern msg } {
index 03f4c20..955cadc 100644 (file)
@@ -62,11 +62,10 @@ if { ![runto_main] } then {
 # Run to the signal handler, validate the backtrace.
 gdb_test "break handler"
 gdb_test "continue" ".* handler .*" "continue to stepi handler"
-send_gdb "bt\n"
-gdb_expect_list "backtrace for nexti" ".*$gdb_prompt $" {
+gdb_test_sequence "bt" "backtrace for nexti" {
     "\[\r\n\]+.0 \[^\r\n\]* handler "
     "\[\r\n\]+.1  .signal handler called."
-    "\[\r\n\]+.2 \[^\r\n\]* main .*"
+    "\[\r\n\]+.2 \[^\r\n\]* main "
 }
 
 # Check that GDB can step the inferior back to main
index 8bdd514..6b0359c 100644 (file)
@@ -61,11 +61,10 @@ if { ![runto_main] } then {
 # Run to the signal handler, validate the backtrace.
 gdb_test "break handler"
 gdb_test "continue" ".* handler .*" "continue to stepi handler"
-send_gdb "bt\n"
-gdb_expect_list "backtrace for nexti" ".*$gdb_prompt $" {
+gdb_test_sequence "bt" "backtrace for nexti" {
     "\[\r\n\]+.0 \[^\r\n\]* handler "
     "\[\r\n\]+.1  .signal handler called."
-    "\[\r\n\]+.2 \[^\r\n\]* main .*"
+    "\[\r\n\]+.2 \[^\r\n\]* main "
 }
 
 proc advance { i } {
index 80676cd..9cafb20 100644 (file)
@@ -48,8 +48,7 @@ gdb_test "show trace-commands" "State of GDB CLI command tracing is off\\." \
         "show trace-commands says off"
 
 # Source the script with verbose mode.
-send_gdb "source -v tracecommandsscript\n"
-gdb_expect_list "source -v" ".*$gdb_prompt $" {
+gdb_test_sequence "source -v tracecommandsscript" "source -v" {
   {[\r\n]\+echo in tracecommandsscript\\n}
   {[\r\n]\+define func}
   {[\r\n]\+if 1}
@@ -73,8 +72,8 @@ gdb_test "show trace-commands" \
 gdb_test "echo hi\\n" {\+echo hi\\n[\r\n]+hi} "simple trace-commands test"
 
 # Nested test
-send_gdb "if 1\nset \$i = 0\nwhile \$i < 5\nfunc \$i\nset \$i += 1\nend\nend\n"
-gdb_expect_list        "nested trace-commands test" ".*$gdb_prompt $" {
+gdb_test_sequence "if 1\nset \$i = 0\nwhile \$i < 5\nfunc \$i\nset \$i += 1\nend\nend" \
+    "nested trace-commands test" {
   {[\r\n]\+if 1}
   {[\r\n]\+\+set \$i = 0}
   {[\r\n]\+\+while \$i < 5}
@@ -96,12 +95,11 @@ gdb_expect_list     "nested trace-commands test" ".*$gdb_prompt $" {
 }
 
 # Function with source works
-send_gdb "define topfunc\nsource tracecommandsscript\nend\n"
-gdb_expect_list "define user command" ".*$gdb_prompt $" {
+gdb_test_sequence "define topfunc\nsource tracecommandsscript\nend" \
+    "define user command" {
   {[\r\n]\+define topfunc}
 }
-send_gdb "topfunc\n"
-gdb_expect_list "nested trace-commands test with source" ".*$gdb_prompt $" {
+gdb_test_sequence "topfunc" "nested trace-commands test with source" {
   {[\r\n]\+topfunc}
   {[\r\n]\+\+source tracecommandsscript}
   {[\r\n]\+\+echo in tracecommandsscript\\n}
@@ -116,8 +114,8 @@ gdb_expect_list "nested trace-commands test with source" ".*$gdb_prompt $" {
 }
 
 # Test nest depth resets properly on error
-send_gdb "if 1\nif 2\nload\necho should not get here\\n\nend\nend\n"
-gdb_expect_list "depth resets on error part 1" ".*$gdb_prompt $" {
+gdb_test_sequence "if 1\nif 2\nload\necho should not get here\\n\nend\nend" \
+    "depth resets on error part 1" {
   {[\r\n]\+if 1}
   {[\r\n]\+\+if 2}
   {[\r\n]\+\+\+load}
index ab54c25..fc8751f 100644 (file)
@@ -936,6 +936,11 @@ proc gdb_test_no_output { args } {
 #
 # Like gdb_test and gdb_test_multiple, the output is expected to end with the
 # gdb prompt, which must not be specified in EXPECTED_OUTPUT_LIST.
+#
+# Returns:
+#    1 if the test failed,
+#    0 if the test passes,
+#   -1 if there was an internal error.
 
 proc gdb_test_sequence { command test_name expected_output_list } {
     global gdb_prompt
@@ -944,7 +949,7 @@ proc gdb_test_sequence { command test_name expected_output_list } {
     }
     lappend expected_output_list ""; # implicit ".*" before gdb prompt
     send_gdb "$command\n"
-    gdb_expect_list $test_name "$gdb_prompt $" $expected_output_list
+    return [gdb_expect_list $test_name "$gdb_prompt $" $expected_output_list]
 }
 
 \f
@@ -2376,10 +2381,10 @@ proc gdb_expect { args } {
     }
 }
 
-# gdb_expect_list MESSAGE SENTINEL LIST -- expect a sequence of outputs
+# gdb_expect_list TEST SENTINEL LIST -- expect a sequence of outputs
 #
 # Check for long sequence of output by parts.
-# MESSAGE: is the test message to be printed with the test success/fail.
+# TEST: is the test message to be printed with the test success/fail.
 # SENTINEL: Is the terminal pattern indicating that output has finished.
 # LIST: is the sequence of outputs to match.
 # If the sentinel is recognized early, it is considered an error.
@@ -2388,7 +2393,7 @@ proc gdb_expect { args } {
 #    1 if the test failed,
 #    0 if the test passes,
 #   -1 if there was an internal error.
-#
+
 proc gdb_expect_list {test sentinel list} {
     global gdb_prompt
     global suppress_flag