From 5fa290c134cb9573795d3abf8903d4ccc50980a0 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Tue, 30 Nov 2010 17:41:14 +0000 Subject: [PATCH] * 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. --- gdb/testsuite/ChangeLog | 15 + gdb/testsuite/gdb.arch/system-gcore.exp | 21 +- gdb/testsuite/gdb.base/call-ar-st.exp | 50 +-- gdb/testsuite/gdb.base/funcargs.exp | 379 ++++++++++------------ gdb/testsuite/gdb.base/gcore.exp | 21 +- gdb/testsuite/gdb.base/page.exp | 3 +- gdb/testsuite/gdb.base/sigaltstack.exp | 5 +- gdb/testsuite/gdb.base/siginfo.exp | 5 +- gdb/testsuite/gdb.base/sigstep.exp | 5 +- gdb/testsuite/gdb.base/trace-commands.exp | 18 +- gdb/testsuite/lib/gdb.exp | 13 +- 11 files changed, 256 insertions(+), 279 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index b5aea2eb785..a57716de77c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2010-11-30 Doug Evans + + * 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 * gdb.python/py-pp-maint.exp: Change printer-name:subprinter-name to diff --git a/gdb/testsuite/gdb.arch/system-gcore.exp b/gdb/testsuite/gdb.arch/system-gcore.exp index 3a86c4b42ad..723c4c65316 100644 --- a/gdb/testsuite/gdb.arch/system-gcore.exp +++ b/gdb/testsuite/gdb.arch/system-gcore.exp @@ -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" ""] diff --git a/gdb/testsuite/gdb.base/call-ar-st.exp b/gdb/testsuite/gdb.base/call-ar-st.exp index 35525aa1f91..5c18f2a318e 100644 --- a/gdb/testsuite/gdb.base/call-ar-st.exp +++ b/gdb/testsuite/gdb.base/call-ar-st.exp @@ -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:" diff --git a/gdb/testsuite/gdb.base/funcargs.exp b/gdb/testsuite/gdb.base/funcargs.exp index 10f135e0d59..0b6e9222010 100644 --- a/gdb/testsuite/gdb.base/funcargs.exp +++ b/gdb/testsuite/gdb.base/funcargs.exp @@ -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)" diff --git a/gdb/testsuite/gdb.base/gcore.exp b/gdb/testsuite/gdb.base/gcore.exp index 0da0c75fa4a..c060a2e8a3b 100644 --- a/gdb/testsuite/gdb.base/gcore.exp +++ b/gdb/testsuite/gdb.base/gcore.exp @@ -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" ""] diff --git a/gdb/testsuite/gdb.base/page.exp b/gdb/testsuite/gdb.base/page.exp index 7d4150a5a84..e70f8eff32f 100644 --- a/gdb/testsuite/gdb.base/page.exp +++ b/gdb/testsuite/gdb.base/page.exp @@ -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" diff --git a/gdb/testsuite/gdb.base/sigaltstack.exp b/gdb/testsuite/gdb.base/sigaltstack.exp index 869e89f2a74..2779508f1f1 100644 --- a/gdb/testsuite/gdb.base/sigaltstack.exp +++ b/gdb/testsuite/gdb.base/sigaltstack.exp @@ -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 } { diff --git a/gdb/testsuite/gdb.base/siginfo.exp b/gdb/testsuite/gdb.base/siginfo.exp index 03f4c20c51b..955cadc479f 100644 --- a/gdb/testsuite/gdb.base/siginfo.exp +++ b/gdb/testsuite/gdb.base/siginfo.exp @@ -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 diff --git a/gdb/testsuite/gdb.base/sigstep.exp b/gdb/testsuite/gdb.base/sigstep.exp index 8bdd514688d..6b0359c4a9f 100644 --- a/gdb/testsuite/gdb.base/sigstep.exp +++ b/gdb/testsuite/gdb.base/sigstep.exp @@ -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 } { diff --git a/gdb/testsuite/gdb.base/trace-commands.exp b/gdb/testsuite/gdb.base/trace-commands.exp index 80676cd160d..9cafb20c88b 100644 --- a/gdb/testsuite/gdb.base/trace-commands.exp +++ b/gdb/testsuite/gdb.base/trace-commands.exp @@ -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} diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index ab54c250868..fc8751fdb01 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -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] } @@ -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 -- 2.30.2