mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
2010-05-24 Michael Snyder <msnyder@vmware.com>
* gdb.base/call-ar-st.exp: Replace send_gdb with gdb_test. * gdb.base/callfuncs.exp: Replace send_gdb with gdb_test. * gdb.base/call-rt-st.exp: Replace send_gdb with gdb_test. * gdb.base/call-signal-resume.exp: Replace send_gdb with gdb_test. * gdb.base/call-strs.exp: Replace send_gdb with gdb_test. * gdb.base/catch-syscall.exp: Replace send_gdb with gdb_test. * gdb.base/charset.exp: Replace send_gdb with gdb_test. * gdb.base/checkpoint.exp: Replace send_gdb with gdb_test. * gdb.base/commands.exp: Replace send_gdb with gdb_test. * gdb.base/condbreak.exp: Replace send_gdb with gdb_test. * gdb.base/cond-exprs.exp: Replace send_gdb with gdb_test. * gdb.base/consecutive.exp: Replace send_gdb with gdb_test. * gdb.base/constvars.exp: Replace send_gdb with gdb_test. * gdb.base/corefile.exp: Replace send_gdb with gdb_test.
This commit is contained in:
parent
6f875884e0
commit
ad3986f07b
@ -1,3 +1,20 @@
|
||||
2010-05-24 Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* gdb.base/call-ar-st.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/callfuncs.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/call-rt-st.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/call-signal-resume.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/call-strs.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/catch-syscall.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/charset.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/checkpoint.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/commands.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/condbreak.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/cond-exprs.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/consecutive.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/constvars.exp: Replace send_gdb with gdb_test.
|
||||
* gdb.base/corefile.exp: Replace send_gdb with gdb_test.
|
||||
|
||||
2010-05-21 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* gdb.dwarf2/pieces.exp (pieces_test_f3): New proc.
|
||||
@ -31,10 +48,6 @@
|
||||
* lib/gdb.ada/arrayidx.exp: Use gdb_test_no_output instead of gdb_test
|
||||
when testing commands that should produce no output.
|
||||
|
||||
2010-05-19 Michael Snyder <msnyder@vmware.com>
|
||||
|
||||
* gdb.base/whatis.exp: Replace send_gdb with gdb_test.
|
||||
|
||||
2010-05-17 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* gdb.ada/watch_arg/watch.adb: Rewrite testcase to avoid the
|
||||
|
@ -61,24 +61,19 @@ set timeout [expr "$timeout + 60"]
|
||||
proc set_lang_c {} {
|
||||
global gdb_prompt
|
||||
|
||||
send_gdb "set language c\n"
|
||||
gdb_expect {
|
||||
-re ".*$gdb_prompt $" {}
|
||||
timeout { fail "set language c (timeout)" ; return 0; }
|
||||
}
|
||||
gdb_test_no_output "set language c"
|
||||
|
||||
send_gdb "show language\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "show language" "set language to \"c\"" {
|
||||
-re ".* source language is \"c\".*$gdb_prompt $" {
|
||||
pass "set language to \"c\""
|
||||
return 1
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "setting language to \"c\""
|
||||
fail "set language to \"c\""
|
||||
return 0
|
||||
}
|
||||
timeout {
|
||||
fail "can't show language (timeout)"
|
||||
fail "(timeout) set language to \"c\""
|
||||
return 0
|
||||
}
|
||||
}
|
||||
@ -90,9 +85,9 @@ gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
gdb_test_no_output "set print sevenbit-strings"
|
||||
gdb_test_no_output "set print address off"
|
||||
gdb_test_no_output "set width 0"
|
||||
|
||||
|
||||
if ![runto_main] then {
|
||||
@ -201,28 +196,15 @@ if {![gdb_skip_float_test "continuing to breakpoint 1220"] && \
|
||||
}
|
||||
|
||||
#step
|
||||
send_gdb "step\n"
|
||||
gdb_expect {
|
||||
-re "print_all_arrays \\(array_i=, array_c=.ZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZa., array_f=, array_d=\\) at .*call-ar-st.c:306\[ \t\r\n\]+306.*print_int_array\\(array_i\\);.*$gdb_prompt $" {pass "step inside print_all_arrays"}
|
||||
-re ".*$gdb_prompt $" { fail "step inside print_all_arrays" }
|
||||
timeout { fail "step inside print_all_arrays (timeout)" }
|
||||
}
|
||||
|
||||
gdb_test "step" \
|
||||
"print_all_arrays \\(array_i=, array_c=.ZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZa., array_f=, array_d=\\) at .*call-ar-st.c:306\[ \t\r\n\]+306.*print_int_array\\(array_i\\);.*" \
|
||||
"step inside print_all_arrays"
|
||||
|
||||
#step -over
|
||||
if ![gdb_skip_stdio_test "next over print_int_array in print_all_arrays"] {
|
||||
send_gdb "next\n"
|
||||
gdb_expect {
|
||||
-re "array_i :.*307.*print_char_array.*$gdb_prompt $" {
|
||||
pass "next over print_int_array in print-all_arrays"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "next over print_int_array in print-all_arrays"
|
||||
}
|
||||
timeout {
|
||||
fail "next over print_int_array in print-all_arrays (timeout)"
|
||||
}
|
||||
}
|
||||
gdb_test "next" \
|
||||
"array_i :.*307.*print_char_array.*" \
|
||||
"next over print_int_array in print-all_arrays"
|
||||
} else {
|
||||
gdb_test "next" "" ""
|
||||
}
|
||||
@ -265,24 +247,16 @@ if {![gdb_skip_float_test "continuing to 1236"] && \
|
||||
#call sum_array_print(10, *list1, *list2, *list3, *list4)
|
||||
|
||||
if ![gdb_skip_stdio_test "print sum_array_print(...)"] {
|
||||
send_gdb "print sum_array_print(10, *list1, *list2, *list3, *list4)\n"
|
||||
gdb_expect {
|
||||
-re ".*Sum of 4 arrays, by element \\(add in seed as well\\):\[ \t\r\n\]+Seed: 10\[ \t\r\n\]+Element Index . Sum\[ \t\r\n\]+-------------------------\[ \t\r\n\]+.*\[ \t\]+0\[ \t\]+52\[ \t\r\n\]+1\[ \t\]+60\[ \t\r\n\]+2\[ \t\]+68\[ \t\r\n\]+3\[ \t\]+76\[ \t\r\n\]+4\[ \t\]+84\[ \t\r\n\]+5\[ \t\]+92\[ \t\r\n\]+6\[ \t\]+100\[ \t\r\n\]+7\[ \t\]+108\[ \t\r\n\]+8\[ \t\]+116\[ \t\r\n\]+9\[ \t\]+124\[ \t\r\n\]+.*$gdb_prompt $" {
|
||||
pass "print sum_array_print(10, *list1, *list2, *list3, *list4)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print sum_array_print(10, *list1, *list2, *list3, *list4)" }
|
||||
timeout { fail "(timeout) print sum_array_print(10, *list1, *list2, *list3, *list4)" }
|
||||
}
|
||||
gdb_test "print sum_array_print(10, *list1, *list2, *list3, *list4)" \
|
||||
".*Sum of 4 arrays, by element \\(add in seed as well\\):\[ \t\r\n\]+Seed: 10\[ \t\r\n\]+Element Index . Sum\[ \t\r\n\]+-------------------------\[ \t\r\n\]+.*\[ \t\]+0\[ \t\]+52\[ \t\r\n\]+1\[ \t\]+60\[ \t\r\n\]+2\[ \t\]+68\[ \t\r\n\]+3\[ \t\]+76\[ \t\r\n\]+4\[ \t\]+84\[ \t\r\n\]+5\[ \t\]+92\[ \t\r\n\]+6\[ \t\]+100\[ \t\r\n\]+7\[ \t\]+108\[ \t\r\n\]+8\[ \t\]+116\[ \t\r\n\]+9\[ \t\]+124\[ \t\r\n\]+.*" \
|
||||
"print sum_array_print(10, *list1, *list2, *list3, *list4)"
|
||||
}
|
||||
|
||||
#step over
|
||||
if ![gdb_skip_stdio_test "next to 1237"] {
|
||||
send_gdb "next\n"
|
||||
gdb_expect {
|
||||
-re ".*BYE BYE FOR NOW.*1237.*printf\\(.VERY GREEN GRASS.n.\\);.*$gdb_prompt $" { pass "next to 1237"}
|
||||
-re ".*$gdb_prompt $" { fail "next to 1237" }
|
||||
timeout { fail "next to 1237(timeout)" }
|
||||
}
|
||||
gdb_test "next" \
|
||||
"BYE BYE FOR NOW.*1237.*printf\\(.VERY GREEN GRASS.n.\\);.*" \
|
||||
"next to 1237"
|
||||
} else {
|
||||
gdb_test "next" "" ""
|
||||
}
|
||||
@ -290,18 +264,9 @@ if ![gdb_skip_stdio_test "next to 1237"] {
|
||||
#call print_array_rep(\*list1, \*list2, \*list3)
|
||||
|
||||
if ![gdb_skip_stdio_test "print print_array_rep(...)"] {
|
||||
send_gdb "print print_array_rep(\*list1, \*list2, \*list3)\n"
|
||||
gdb_expect {
|
||||
-re ".*$gdb_prompt $" {
|
||||
pass "print print_array_rep(*list1, *list2, *list3)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "print print_array_rep(*list1, *list2, *list3)"
|
||||
}
|
||||
timeout {
|
||||
fail "(timeout) print print_array_rep(*list1, *list2, *list3)"
|
||||
}
|
||||
}
|
||||
gdb_test "print print_array_rep(\*list1, \*list2, \*list3)" \
|
||||
"Contents of linked list3:.*" \
|
||||
"print print_array_rep(*list1, *list2, *list3)"
|
||||
}
|
||||
|
||||
#go -until 1241
|
||||
@ -309,14 +274,9 @@ gdb_test "tbreak 1241" \
|
||||
"Temporary breakpoint..* file .*$srcfile, line 1241.*" \
|
||||
"tbreakpoint line 1241"
|
||||
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
-re ".*main \\(\\) at .*call-ar-st.c:1241\r\n1241\[\t \]+sum_array_print\\(10, \\*list1, \\*list2, \\*list3, \\*list4\\);.*$gdb_prompt $" {
|
||||
pass "continue to 1241"}
|
||||
-re ".*$gdb_prompt $" { fail "continue to 1241"}
|
||||
timeout { fail "(timeout) continue to 1241"}
|
||||
}
|
||||
|
||||
gdb_test "continue" \
|
||||
"main \\(\\) at .*call-ar-st.c:1241\r\n1241\[\t \]+sum_array_print\\(10, \\*list1, \\*list2, \\*list3, \\*list4\\);.*" \
|
||||
"continue to 1241"
|
||||
|
||||
|
||||
# Run into sum_array_print, and verify that the arguments were passed
|
||||
@ -355,14 +315,9 @@ gdb_test "tbreak 1281" \
|
||||
"tbreakpoint line 1281"
|
||||
|
||||
if ![gdb_skip_stdio_test "continuing to 1281"] {
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
-re "Continuing\\..*Sum of 4 arrays.*Contents of linked list1.*Contents of two_floats_t.*main \\(\\) at .*call-ar-st.c:1281.*c = 0.*$gdb_prompt $" {
|
||||
pass "continue to 1281"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "continue to 1281"}
|
||||
timeout { fail "(timeout) continue to 1281"}
|
||||
}
|
||||
gdb_test "continue" \
|
||||
"Continuing\\..*Sum of 4 arrays.*Contents of linked list1.*Contents of two_floats_t.*main \\(\\) at .*call-ar-st.c:1281.*c = 0.*" \
|
||||
"continue to 1281"
|
||||
} else {
|
||||
gdb_test "continue" "" ""
|
||||
}
|
||||
@ -412,14 +367,9 @@ if {![gdb_skip_float_test "print print_small_structs(...)"] && \
|
||||
}
|
||||
|
||||
#call compute_with_small_structs(20)
|
||||
send_gdb "print compute_with_small_structs(20)\n"
|
||||
gdb_expect {
|
||||
-re ".*\[0-9\]+ =.*$gdb_prompt $" {
|
||||
pass "print compute_with_small_structs(20)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print compute_with_small_structs(20)" }
|
||||
timeout { fail "(timeout) compute_with_small_structs(20)" }
|
||||
}
|
||||
gdb_test "print compute_with_small_structs(20)" \
|
||||
"\[0-9\]+ = void" \
|
||||
"print compute_with_small_structs(20)"
|
||||
|
||||
|
||||
#call print_ten_doubles(123.456, 123.456, -0.12, -1.23, 343434.8, 89.098,
|
||||
@ -456,12 +406,9 @@ if { [istarget "hppa*-*-hpux*"] } {
|
||||
# FIXME: use step for hppa* testing for now
|
||||
# guo 990621
|
||||
#
|
||||
send_gdb "step\n"
|
||||
gdb_expect {
|
||||
-re ".*print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {pass "step into print_long_arg_list"}
|
||||
-re ".*$gdb_prompt $" { fail "step into print_long_arg_list" }
|
||||
timeout { fail "step into print_long_arg_list (timeout)" }
|
||||
}
|
||||
gdb_test "step" \
|
||||
"print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);" \
|
||||
"step into print_long_arg_list"
|
||||
} else {
|
||||
|
||||
# We can't just assume that a "step" will get us into
|
||||
@ -472,21 +419,20 @@ if { [istarget "hppa*-*-hpux*"] } {
|
||||
# The short match case below handles cases where a buffer
|
||||
# overflows or something, and expect can't deal with the full
|
||||
# line. Perhaps a more elegant solution exists... -sts 1999-08-17
|
||||
send_gdb "continue\n"
|
||||
if {![gdb_skip_float_test "step into print_long_arg_list"]} {
|
||||
gdb_expect {
|
||||
-re ".*print_long_arg_list \\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" { pass "step into print_long_arg_list" }
|
||||
-re ".*print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}.*\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {pass "step into print_long_arg_list (short match)"}
|
||||
-re ".*$gdb_prompt $" { fail "step into print_long_arg_list" }
|
||||
timeout { fail "step into print_long_arg_list (timeout)" }
|
||||
gdb_test_multiple "continue" "step into print_long_arg_list" {
|
||||
-re ".*print_long_arg_list \\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}, five_char=\{ch1 = 108 \'l\', ch2 = 109 \'m\', ch3 = 110 \'n\', ch4 = 111 \'o\', ch5 = 112 \'p\'\}, int_char_combo=\{int1 = 123, ch1 = 122 \'z\'\}, d1=\{double1 = 10.5\}, d2=\{double1 = -3.375\}, d3=\{double1 = 675.09375\}, f1=\{float1 = 45.2340012, float2 = 43.5999985\}, f2=\{float1 = 78.0100021, float2 = 122.099998\}, f3=\{float1 = -1232.34497, float2 = -199.210007\}\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {
|
||||
pass "step into print_long_arg_list"
|
||||
}
|
||||
-re ".*print_long_arg_list.*\\(a=22.25, b=33.375, c=0, d=-25, e=100, f=2345, struct1=\{value = 6, head = 0\}, struct2=\{value = 10, head = 0\}, struct3=\{value = 12, head = 0\}, struct4=\{value = 14, head = 0\}, flags=\{alpha = 1, beta = 0, gamma = 1, delta = 0, epsilon = 1, omega = 0\}, flags_combo=\{alpha = 1, beta = 0, ch1 = 121 \'y\', gamma = 1, delta = 0, ch2 = 110 \'n\', epsilon = 1, omega = 0\}, three_char=\{ch1 = 97 \'a\', ch2 = 98 \'b\', ch3 = 99 \'c\'\}.*\\) at .*${srcfile}:992\[\r\n\]+992\[ \t\]+printf\\(\"double :.*\", a\\);.*$gdb_prompt $" {
|
||||
pass "step into print_long_arg_list (short match)"
|
||||
}
|
||||
}
|
||||
} else {
|
||||
# If skipping float tests, don't expect anything in arg list.
|
||||
gdb_expect {
|
||||
-re ".*print_long_arg_list \\(.*\\).*$gdb_prompt $" { pass "step into print_long_arg_list" }
|
||||
-re ".*$gdb_prompt $" { fail "step into print_long_arg_list" }
|
||||
timeout { fail "step into print_long_arg_list (timeout)" }
|
||||
}
|
||||
gdb_test "continue" \
|
||||
"print_long_arg_list \\(.*\\).*" \
|
||||
"step into print_long_arg_list"
|
||||
}
|
||||
}
|
||||
|
||||
@ -558,29 +504,15 @@ if ![gdb_skip_stdio_test "continuing to 1300"] {
|
||||
}
|
||||
|
||||
#step
|
||||
send_gdb "step\n"
|
||||
gdb_expect {
|
||||
-re "
|
||||
init_bit_flags_combo \\(bit_flags_combo=, a=1, b=0, ch1=121 .y., g=1, d=0, ch2=110 .n., e=1, o=0\\) at .*call-ar-st.c:416\[ \t\n\r\]+416.*bit_flags_combo->alpha = a;.*$gdb_prompt $" {
|
||||
pass "step into init_bit_flags_combo"}
|
||||
-re ".*$gdb_prompt $" { fail "step into init_bit_flags_combo" }
|
||||
timeout { fail "step into init_bit_flags_combo (timeout)" }
|
||||
}
|
||||
gdb_test "step" \
|
||||
"init_bit_flags_combo \\(bit_flags_combo=, a=1, b=0, ch1=121 .y., g=1, d=0, ch2=110 .n., e=1, o=0\\) at .*call-ar-st.c:416\[ \t\n\r\]+416.*bit_flags_combo->alpha = a;" \
|
||||
"step into init_bit_flags_combo"
|
||||
|
||||
#call print_bit_flags_combo(*bit_flags_combo)
|
||||
if ![gdb_skip_stdio_test "continuing to 1300"] {
|
||||
send_gdb "print print_bit_flags_combo(*bit_flags_combo)\n"
|
||||
gdb_expect {
|
||||
-re ".*alpha.*gamma.*epsilon.*ch1: y.*ch2: n.*$gdb_prompt $" {
|
||||
pass "print print_bit_flags_combo from init_bit_flags_combo"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "print print_bit_flags_combo from init_bit_flags_combo"
|
||||
}
|
||||
timeout {
|
||||
fail "(timeout) print_bit_flags_combo from init_bit_flags_combo"
|
||||
}
|
||||
}
|
||||
gdb_test "print print_bit_flags_combo(*bit_flags_combo)" \
|
||||
"alpha.*gamma.*epsilon.*ch1: y.*ch2: n.*" \
|
||||
"print print_bit_flags_combo from init_bit_flags_combo"
|
||||
}
|
||||
|
||||
|
||||
@ -655,18 +587,9 @@ gdb_test continue "Continuing\\..*main \\(\\) at .*call-ar-st.c:1311\[ \t\n\r\]+
|
||||
|
||||
#call sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)
|
||||
if ![gdb_skip_stdio_test "print sum_struct_print(...)"] {
|
||||
send_gdb "print sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)\n"
|
||||
gdb_expect {
|
||||
-re ".*Sum of the 4 struct values and seed :\[ \t\n\r\]+218.*$gdb_prompt $" {
|
||||
pass "print sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "print sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)"
|
||||
}
|
||||
timeout {
|
||||
fail "(timeout) sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)"
|
||||
}
|
||||
}
|
||||
gdb_test "print sum_struct_print(10,*struct1,*struct2,*struct3,*struct4)" \
|
||||
"Sum of the 4 struct values and seed :\[ \t\n\r\]+218.*" \
|
||||
"print sum_struct_print(10, *struct1, *struct2, *struct3, *struct4)"
|
||||
}
|
||||
|
||||
|
||||
@ -685,18 +608,9 @@ if ![gdb_skip_stdio_test "print print_struct_rep(...)"] {
|
||||
}
|
||||
|
||||
if ![gdb_skip_stdio_test "print print_one_large_struct(...)"] {
|
||||
send_gdb "print print_one_large_struct(*list1)\n"
|
||||
gdb_expect {
|
||||
-re ".* 4 1.*$gdb_prompt $" {
|
||||
pass "print print_one_large_struct(*list1)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "print print_one_large_struct(*list1)"
|
||||
}
|
||||
timeout {
|
||||
fail "(timeout) print_one_large_struct(*list1)"
|
||||
}
|
||||
}
|
||||
gdb_test "print print_one_large_struct(*list1)" \
|
||||
" 4 1.*" \
|
||||
"print print_one_large_struct(*list1)"
|
||||
}
|
||||
|
||||
set timeout $oldtimeout
|
||||
|
@ -58,44 +58,15 @@ if [target_info exists gdb,cannot_call_functions] {
|
||||
continue
|
||||
}
|
||||
|
||||
# Set the current language to C. This counts as a test. If it
|
||||
# fails, then we skip the other tests.
|
||||
|
||||
proc set_lang_c {} {
|
||||
global gdb_prompt
|
||||
|
||||
send_gdb "set language c\n"
|
||||
gdb_expect {
|
||||
-re ".*$gdb_prompt $" {}
|
||||
timeout { fail "set language c (timeout)" ; return 0; }
|
||||
}
|
||||
|
||||
send_gdb "show language\n"
|
||||
gdb_expect {
|
||||
-re ".* source language is \"c\".*$gdb_prompt $" {
|
||||
pass "set language to \"c\""
|
||||
return 1
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "setting language to \"c\""
|
||||
return 0
|
||||
}
|
||||
timeout {
|
||||
fail "can't show language (timeout)"
|
||||
return 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Start with a fresh gdb.
|
||||
|
||||
gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
gdb_test_no_output "set print sevenbit-strings"
|
||||
gdb_test_no_output "set print address off"
|
||||
gdb_test_no_output "set width 0"
|
||||
|
||||
|
||||
if ![runto_main] then {
|
||||
@ -108,29 +79,17 @@ gdb_test "break loop_count" \
|
||||
"Breakpoint.* file .*call-rt-st.c, line 128\\." \
|
||||
"breakpoint loop_count"
|
||||
|
||||
gdb_test "continue" \
|
||||
"Continuing\\..*Breakpoint.*loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+128\[\t \]+for \\(index=0; index.4; index..\\);\[\r\n \]+" \
|
||||
"continue to loop_count"
|
||||
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
-re "Continuing\\..*Breakpoint.*loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+128\[\t \]+for \\(index=0; index.4; index..\\);\[\r\n \]+$gdb_prompt $" {
|
||||
pass "continue to loop_count"}
|
||||
-re ".*$gdb_prompt $" { fail "continue to loop_count"}
|
||||
timeout { fail "(timeout) continue to loop_count"}
|
||||
}
|
||||
|
||||
send_gdb "finish\n"
|
||||
gdb_expect {
|
||||
-re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:777\[ \t\r\n\]+777\[\t \]+return 0;.*$gdb_prompt $" {
|
||||
gdb_test_multiple "finish" "finish out from loop count" {
|
||||
-re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:777\[ \t\r\n\]+777\[\t \]+return 0;.*$gdb_prompt $" {
|
||||
pass "finish out from loop_count (line 777)"
|
||||
}
|
||||
-re "Run till exit from .0 loop_count \\(\\) at.*call-rt-st.c:128\[ \t\r\n\]+main \\(\\) at.*call-rt-st.c:775\[ \t\r\n\]+775\[\t \]+loop_count.*$gdb_prompt $" {
|
||||
pass "finish out from loop_count (line 775)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "finish out from loop_count"
|
||||
}
|
||||
timeout {
|
||||
fail "finish out from loop_count (timeout)"
|
||||
}
|
||||
}
|
||||
|
||||
# Ask GDB to print the value of EXPR, and expect to see the regexp
|
||||
@ -142,20 +101,13 @@ proc print_struct_call { expr result } {
|
||||
global gdb_prompt
|
||||
|
||||
set command "print $expr"
|
||||
send_gdb "${command}\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "${command}" "${command}" {
|
||||
-re "$result\[\r\n\]+$gdb_prompt $" {
|
||||
pass "$command"
|
||||
}
|
||||
-re "Function return value unknown.\[\r\n\]+$gdb_prompt $" {
|
||||
unsupported "$command"
|
||||
}
|
||||
-re "$gdb_prompt $" {
|
||||
fail "$command"
|
||||
}
|
||||
timeout {
|
||||
fail "$command (timeout)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,24 +53,14 @@ if [target_info exists gdb,cannot_call_functions] {
|
||||
}
|
||||
|
||||
proc get_dummy_frame_number { } {
|
||||
global gdb_prompt
|
||||
global gdb_prompt
|
||||
|
||||
send_gdb "bt\n"
|
||||
gdb_expect {
|
||||
-re "#(\[0-9\]*) *<function called from gdb>.*$gdb_prompt $"
|
||||
{
|
||||
return $expect_out(1,string)
|
||||
}
|
||||
-re "$gdb_prompt $"
|
||||
{
|
||||
return ""
|
||||
}
|
||||
timeout
|
||||
{
|
||||
return ""
|
||||
}
|
||||
}
|
||||
return ""
|
||||
gdb_test_multiple "bt" "backtrace" {
|
||||
-re "#(\[0-9\]*) *<function called from gdb>.*$gdb_prompt $" {
|
||||
return $expect_out(1,string)
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
# Start with a fresh gdb.
|
||||
|
@ -52,36 +52,6 @@ if [target_info exists gdb,cannot_call_functions] {
|
||||
continue
|
||||
}
|
||||
|
||||
# Set the current language to C. This counts as a test. If it
|
||||
# fails, then we skip the other tests.
|
||||
|
||||
proc set_lang_c {} {
|
||||
global gdb_prompt
|
||||
|
||||
send_gdb "set language c\n"
|
||||
gdb_expect {
|
||||
-re ".*$gdb_prompt $" {}
|
||||
timeout { fail "set language c (timeout)" ; return 0; }
|
||||
}
|
||||
|
||||
send_gdb "show language\n"
|
||||
gdb_expect {
|
||||
-re ".* source language is \"c\".*$gdb_prompt $" {
|
||||
pass "set language to \"c\""
|
||||
return 1
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "setting language to \"c\""
|
||||
return 0
|
||||
}
|
||||
timeout {
|
||||
fail "can't show language (timeout)"
|
||||
return 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Start with a fresh gdb.
|
||||
|
||||
@ -89,9 +59,9 @@ gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
send_gdb "set print sevenbit-strings\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
send_gdb "set print address off\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
send_gdb "set width 0\n" ; gdb_expect -re "$gdb_prompt $"
|
||||
gdb_test_no_output "set print sevenbit-strings"
|
||||
gdb_test_no_output "set print address off"
|
||||
gdb_test_no_output "set width 0"
|
||||
|
||||
if ![runto_main] then {
|
||||
perror "couldn't run to breakpoint"
|
||||
@ -102,163 +72,81 @@ set prev_timeout $timeout
|
||||
set timeout 120
|
||||
|
||||
#step
|
||||
send_gdb "step\n"
|
||||
gdb_expect {
|
||||
-re ".*strcpy\\(buf, \"test string\"\\);.*$gdb_prompt $" {pass "step after assignment to s"}
|
||||
-re ".*$gdb_prompt $" { fail "step after assignment to s" }
|
||||
timeout { fail "step after assignment to s (timeout)" }
|
||||
}
|
||||
|
||||
gdb_test "step" \
|
||||
"strcpy\\(buf, \"test string\"\\);" \
|
||||
"step after assignment to s"
|
||||
|
||||
#next
|
||||
send_gdb "next\n"
|
||||
gdb_expect {
|
||||
-re ".*str_func\\(\"abcd\", \"efgh\", \"ijkl\", \"mnop\", \"qrst\", \"uvwx\", \"yz12\"\\);.*$gdb_prompt $" {pass "next over strcpy"}
|
||||
-re ".*$gdb_prompt $" { fail "next over strcpy" }
|
||||
timeout { fail "next over strcpy (timeout)" }
|
||||
}
|
||||
gdb_test "next" \
|
||||
"str_func\\(\"abcd\", \"efgh\", \"ijkl\", \"mnop\", \"qrst\", \"uvwx\", \"yz12\"\\);" \
|
||||
"next over strcpy"
|
||||
|
||||
#print buf
|
||||
send_gdb "print buf\n"
|
||||
gdb_expect {
|
||||
-re ".*\"test string\",.*repeats 88 times.*$gdb_prompt $" {
|
||||
pass "print buf"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print buf" }
|
||||
timeout { fail "(timeout) print buf" }
|
||||
}
|
||||
|
||||
gdb_test "print buf" \
|
||||
"\"test string\",.*repeats 88 times.*"
|
||||
|
||||
#print s
|
||||
send_gdb "print s\n"
|
||||
gdb_expect {
|
||||
-re ".*= \"test string\".*$gdb_prompt $" {
|
||||
pass "print s"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print s" }
|
||||
timeout { fail "(timeout) print sum_array_print(10, *list1, *list2, *list3, *list4)" }
|
||||
}
|
||||
|
||||
gdb_test "print s" \
|
||||
" = \"test string\".*"
|
||||
|
||||
#print str_func1(s)
|
||||
if ![gdb_skip_stdio_test "print str_func1(s)"] {
|
||||
send_gdb "print str_func1(s)\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string.*\"test string\".*$gdb_prompt $" {
|
||||
pass "print str_func1(s)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print str_func1(s)" }
|
||||
timeout { fail "(timeout) print str_func1(s)" }
|
||||
}
|
||||
gdb_test "print str_func1(s)" \
|
||||
"first string arg is: test string.*\"test string\".*"
|
||||
}
|
||||
|
||||
|
||||
#print str_func1("test string")
|
||||
if ![gdb_skip_stdio_test "print str_func1(teststring)"] {
|
||||
send_gdb "print str_func1(\"test string\")\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string.*\"test string\".*$gdb_prompt $" {
|
||||
pass "print str_func1(\"test string\")"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print str_func1(\"test string\")" }
|
||||
timeout { fail "(timeout) print str_func1(\"test string\")" }
|
||||
}
|
||||
gdb_test "print str_func1(\"test string\")" \
|
||||
"first string arg is: test string.*\"test string\".*"
|
||||
}
|
||||
|
||||
#call str_func1(s)
|
||||
if ![gdb_skip_stdio_test "call str_func1(s)"] {
|
||||
send_gdb "call str_func1(s)\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string.*\"test string\".*$gdb_prompt $" {
|
||||
pass "call str_func1(s)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "call str_func1(s)" }
|
||||
timeout { fail "(timeout) call str_func1(s)" }
|
||||
}
|
||||
gdb_test "call str_func1(s)" \
|
||||
"first string arg is: test string.*\"test string\".*"
|
||||
}
|
||||
|
||||
#call str_func1("test string")
|
||||
if ![gdb_skip_stdio_test "call str_func1 (...)"] {
|
||||
send_gdb "call str_func1(\"test string\")\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string.*\"test string\".*$gdb_prompt $" {
|
||||
pass "call str_func1(\"test string\")"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "call str_func1(\"test string\")" }
|
||||
timeout { fail "(timeout) call str_func1(\"test string\")" }
|
||||
}
|
||||
gdb_test "call str_func1(\"test string\")" \
|
||||
"first string arg is: test string.*\"test string\".*"
|
||||
}
|
||||
|
||||
#print str_func1(buf)
|
||||
if ![gdb_skip_stdio_test "print str_func1(buf)"] {
|
||||
send_gdb "print str_func1(buf)\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string.*\"test string\".*$gdb_prompt $" {
|
||||
pass "print str_func1(buf)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print str_func1(buf)" }
|
||||
timeout { fail "(timeout) print str_func1(buf)" }
|
||||
}
|
||||
gdb_test "print str_func1(buf)" \
|
||||
"first string arg is: test string.*\"test string\".*"
|
||||
}
|
||||
|
||||
#call str_func1(buf)
|
||||
if ![gdb_skip_stdio_test "call str_func1(buf)"] {
|
||||
send_gdb "call str_func1(buf)\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string.*\"test string\".*$gdb_prompt $" {
|
||||
pass "call str_func1(buf)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "call str_func1(buf)" }
|
||||
timeout { fail "(timeout) call str_func1(buf)" }
|
||||
}
|
||||
gdb_test "call str_func1(buf)" \
|
||||
"first string arg is: test string.*\"test string\".*"
|
||||
}
|
||||
|
||||
#print str_func("a","b","c","d","e","f","g")
|
||||
if ![gdb_skip_stdio_test "print str_func(a,b,c,d,e,f,g)"] {
|
||||
send_gdb "print str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: a\[ \t\r\n\]+second string arg is: b\[ \t\r\n\]+third string arg is: c\[ \t\r\n\]+fourth string arg is: d\[ \t\r\n\]+fifth string arg is: e\[ \t\r\n\]+sixth string arg is: f\[ \t\r\n\]+seventh string arg is: g\[ \t\r\n\]+.*= \"abcdefg\".*$gdb_prompt $" {
|
||||
pass "print str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")" }
|
||||
timeout { fail "(timeout) print str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")" }
|
||||
}
|
||||
gdb_test "print str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")" \
|
||||
"first string arg is: a\[ \t\r\n\]+second string arg is: b\[ \t\r\n\]+third string arg is: c\[ \t\r\n\]+fourth string arg is: d\[ \t\r\n\]+fifth string arg is: e\[ \t\r\n\]+sixth string arg is: f\[ \t\r\n\]+seventh string arg is: g\[ \t\r\n\]+.*= \"abcdefg\".*"
|
||||
}
|
||||
|
||||
#call str_func("a","b","c","d","e","f","g")
|
||||
if ![gdb_skip_stdio_test "call str_func(a,b,c,d,e,f,g)"] {
|
||||
send_gdb "call str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: a\[ \t\r\n\]+second string arg is: b\[ \t\r\n\]+third string arg is: c\[ \t\r\n\]+fourth string arg is: d\[ \t\r\n\]+fifth string arg is: e\[ \t\r\n\]+sixth string arg is: f\[ \t\r\n\]+seventh string arg is: g\[ \t\r\n\]+.*= \"abcdefg\".*$gdb_prompt $" {
|
||||
pass "call str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "call str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")" }
|
||||
timeout { fail "(timeout) call str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")" }
|
||||
}
|
||||
gdb_test "call str_func(\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\")" \
|
||||
"first string arg is: a\[ \t\r\n\]+second string arg is: b\[ \t\r\n\]+third string arg is: c\[ \t\r\n\]+fourth string arg is: d\[ \t\r\n\]+fifth string arg is: e\[ \t\r\n\]+sixth string arg is: f\[ \t\r\n\]+seventh string arg is: g\[ \t\r\n\]+.*= \"abcdefg\".*"
|
||||
}
|
||||
|
||||
#print str_func(s,s,s,s,s,s,s)
|
||||
if ![gdb_skip_stdio_test "print str_func(s,s,s,s,s,s,s,s)"] {
|
||||
send_gdb "print str_func(s,s,s,s,s,s,s)\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string\[ \t\r\n\]+second string arg is: test string\[ \t\r\n\]+third string arg is: test string\[ \t\r\n\]+fourth string arg is: test string\[ \t\r\n\]+fifth string arg is: test string\[ \t\r\n\]+sixth string arg is: test string\[ \t\r\n\]+seventh string arg is: test string\[ \t\r\n\]+.*\"test stringtest stringtest stringtest stringtest stringtest stringtest string\".*$gdb_prompt $" {
|
||||
pass "print str_func(s,s,s,s,s,s,s)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print str_func(s,s,s,s,s,s,s)" }
|
||||
timeout { fail "(timeout) print str_func(s,s,s,s,s,s,s)" }
|
||||
}
|
||||
gdb_test "print str_func(s,s,s,s,s,s,s)" \
|
||||
"first string arg is: test string\[ \t\r\n\]+second string arg is: test string\[ \t\r\n\]+third string arg is: test string\[ \t\r\n\]+fourth string arg is: test string\[ \t\r\n\]+fifth string arg is: test string\[ \t\r\n\]+sixth string arg is: test string\[ \t\r\n\]+seventh string arg is: test string\[ \t\r\n\]+.*\"test stringtest stringtest stringtest stringtest stringtest stringtest string\".*"
|
||||
}
|
||||
|
||||
#call str_func(s,s,s,s,s,s,s)
|
||||
if ![gdb_skip_stdio_test "call str_func(s,s,s,s,s,s,s,s)"] {
|
||||
send_gdb "call str_func(s,s,s,s,s,s,s)\n"
|
||||
gdb_expect {
|
||||
-re "first string arg is: test string\[ \t\r\n\]+second string arg is: test string\[ \t\r\n\]+third string arg is: test string\[ \t\r\n\]+fourth string arg is: test string\[ \t\r\n\]+fifth string arg is: test string\[ \t\r\n\]+sixth string arg is: test string\[ \t\r\n\]+seventh string arg is: test string\[ \t\r\n\]+.*\"test stringtest stringtest stringtest stringtest stringtest stringtest string\".*$gdb_prompt $" {
|
||||
pass "call str_func(s,s,s,s,s,s,s)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "call str_func(s,s,s,s,s,s,s)" }
|
||||
timeout { fail "(timeout) call str_func(s,s,s,s,s,s,s)" }
|
||||
}
|
||||
gdb_test "call str_func(s,s,s,s,s,s,s)" \
|
||||
"first string arg is: test string\[ \t\r\n\]+second string arg is: test string\[ \t\r\n\]+third string arg is: test string\[ \t\r\n\]+fourth string arg is: test string\[ \t\r\n\]+fifth string arg is: test string\[ \t\r\n\]+sixth string arg is: test string\[ \t\r\n\]+seventh string arg is: test string\[ \t\r\n\]+.*\"test stringtest stringtest stringtest stringtest stringtest stringtest string\".*"
|
||||
}
|
||||
|
||||
gdb_exit
|
||||
|
@ -58,27 +58,17 @@ if [target_info exists gdb,cannot_call_functions] {
|
||||
proc set_lang_c {} {
|
||||
global gdb_prompt
|
||||
|
||||
send_gdb "set language c\n"
|
||||
gdb_expect {
|
||||
-re ".*$gdb_prompt $" {}
|
||||
timeout { fail "set language c (timeout)" ; return 0; }
|
||||
}
|
||||
gdb_test_no_output "set language c"
|
||||
|
||||
send_gdb "show language\n"
|
||||
gdb_expect {
|
||||
set success 0
|
||||
|
||||
gdb_test_multiple "show language" "set language to \"c\"" {
|
||||
-re ".* source language is \"c\".*$gdb_prompt $" {
|
||||
pass "set language to \"c\""
|
||||
return 1
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "setting language to \"c\""
|
||||
return 0
|
||||
}
|
||||
timeout {
|
||||
fail "can't show language (timeout)"
|
||||
return 0
|
||||
set success 1
|
||||
}
|
||||
}
|
||||
return $success
|
||||
}
|
||||
|
||||
# FIXME: Before calling this proc, we should probably verify that
|
||||
|
@ -278,15 +278,7 @@ proc do_syscall_tests {} {
|
||||
global gdb_prompt srcdir
|
||||
|
||||
# First, we need to set GDB datadir.
|
||||
send_gdb "set data-directory $srcdir/..\n"
|
||||
gdb_expect 10 {
|
||||
-re "$gdb_prompt $" {
|
||||
verbose "Setting GDB datadir to $srcdir/..." 2
|
||||
}
|
||||
timeout {
|
||||
error "Couldn't set GDB datadir."
|
||||
}
|
||||
}
|
||||
gdb_test_no_output "set data-directory $srcdir/.."
|
||||
|
||||
# Verify that the 'catch syscall' help is available
|
||||
set thistest "help catch syscall"
|
||||
|
@ -374,15 +374,7 @@ foreach target_charset $charset_subset {
|
||||
set param target-charset
|
||||
set L ""
|
||||
}
|
||||
send_gdb "set $param $target_charset\n"
|
||||
gdb_expect {
|
||||
-re "$gdb_prompt $" {
|
||||
pass "set $param $target_charset"
|
||||
}
|
||||
timeout {
|
||||
fail "set $param $target_charset (timeout)"
|
||||
}
|
||||
}
|
||||
gdb_test_no_output "set $param $target_charset"
|
||||
|
||||
# Try printing the null character. There seems to be a bug in
|
||||
# gdb_test that requires us to use gdb_expect here.
|
||||
|
@ -337,18 +337,9 @@ gdb_load ${binfile}
|
||||
runto_main
|
||||
gdb_breakpoint $break1_loc
|
||||
|
||||
send_gdb "commands\n"
|
||||
send_gdb " silent\n"
|
||||
send_gdb " if (lines % 2)\n"
|
||||
send_gdb " checkpoint\n"
|
||||
send_gdb " end\n"
|
||||
send_gdb " continue\n"
|
||||
send_gdb "end\n"
|
||||
|
||||
gdb_expect {
|
||||
-re ".*$gdb_prompt $" { pass "set checkpoint breakpoint" }
|
||||
timeout { fail "(timeout) set checkpoint breakpoint" }
|
||||
}
|
||||
gdb_test "commands\nsilent\nif (lines % 2)\ncheckpoint\nend\n continue\nend" \
|
||||
"" \
|
||||
"set checkpoint breakpoint"
|
||||
|
||||
set prev_timeout $timeout
|
||||
set timeout [expr $timeout + 120]
|
||||
|
@ -136,15 +136,13 @@ proc if_while_breakpoint_command_test {} {
|
||||
delete_breakpoints
|
||||
gdb_test "break factorial" "Breakpoint.*at.*" "break factorial #1"
|
||||
|
||||
send_gdb "commands\n"
|
||||
gdb_expect {
|
||||
-re "End with" {
|
||||
pass "commands in if_while_breakpoint_command_test"
|
||||
gdb_test_multiple "commands" \
|
||||
"commands in if_while_breakpoint_command_test" {
|
||||
-re "End with" {
|
||||
pass "commands in if_while_breakpoint_command_test"
|
||||
}
|
||||
}
|
||||
default {
|
||||
fail "(timeout or eof) commands in if_while_breakpoint_command_test"
|
||||
}
|
||||
}
|
||||
|
||||
# This test should alternate between 0xdeadbeef and 0xfeedface two times.
|
||||
gdb_test "while value > 0\nset value -= 1\nif \(value % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend\nend" \
|
||||
"" \
|
||||
@ -182,21 +180,18 @@ proc infrun_breakpoint_command_test {} {
|
||||
# to get around a synchronization problem in expect.
|
||||
# part1: issue the gdb command "commands"
|
||||
# part2: send the list of commands
|
||||
send_gdb "commands\n"
|
||||
gdb_expect {
|
||||
-re "End with" {
|
||||
pass "commands in infrun_breakpoint_command_test #1"
|
||||
gdb_test_multiple "commands" \
|
||||
"commands in infrun_breakpoint_command_test #1" {
|
||||
-re "End with" {
|
||||
pass "commands in infrun_breakpoint_command_test #1"
|
||||
}
|
||||
}
|
||||
default {
|
||||
fail "(timeout or eof) commands in infrun_breakpoint_command_test"
|
||||
}
|
||||
}
|
||||
gdb_test "step\nstep\nstep\nstep\nend" "" \
|
||||
"commands in infrun_breakpoint_command_test #2"
|
||||
|
||||
gdb_test "continue" \
|
||||
"Continuing.*.*.*Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.*\[0-9\]*\[ \]*if \\(value > 1\\) \{.*\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.*" \
|
||||
"continue in infrun_breakpoint_command_test"
|
||||
gdb_test "continue" \
|
||||
"Continuing.*.*.*Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.*\[0-9\]*\[ \]*if \\(value > 1\\) \{.*\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.*" \
|
||||
"continue in infrun_breakpoint_command_test"
|
||||
|
||||
gdb_stop_suppressing_tests;
|
||||
}
|
||||
@ -229,15 +224,13 @@ proc user_defined_command_test {} {
|
||||
|
||||
gdb_test "set \$foo = 4" "" "set foo in user_defined_command_test"
|
||||
|
||||
send_gdb "define mycommand\n"
|
||||
gdb_expect {
|
||||
-re "End with" {
|
||||
pass "define mycommand in user_defined_command_test"
|
||||
gdb_test_multiple "define mycommand" \
|
||||
"define mycommand in user_defined_command_test" {
|
||||
-re "End with" {
|
||||
pass "define mycommand in user_defined_command_test"
|
||||
}
|
||||
}
|
||||
default {
|
||||
fail "(timeout or eof) define mycommand in user_defined_command_test"
|
||||
}
|
||||
}
|
||||
|
||||
# This test should alternate between 0xdeadbeef and 0xfeedface two times.
|
||||
gdb_test "while \$arg0 > 0\nset \$arg0 -= 1\nif \(\$arg0 % 2\) == 1\np/x 0xdeadbeef\nelse\np/x 0xfeedface\nend\nend\nend" \
|
||||
"" \
|
||||
@ -282,52 +275,37 @@ proc watchpoint_command_test {} {
|
||||
#
|
||||
set wp_id -1
|
||||
|
||||
send_gdb "watch local_var\n"
|
||||
gdb_expect {
|
||||
-re ".*\[Ww\]atchpoint (\[0-9\]*): local_var.*$gdb_prompt $" {
|
||||
gdb_test_multiple "watch local_var" "watch local_var" {
|
||||
-re "\[Ww\]atchpoint (\[0-9\]*): local_var.*$gdb_prompt $" {
|
||||
set wp_id $expect_out(1,string)
|
||||
pass "watch local_var"
|
||||
}
|
||||
-re "$gdb_prompt $"\
|
||||
{fail "watch local_var"}
|
||||
timeout {fail "(timeout) watch local_var"}
|
||||
}
|
||||
|
||||
if {$wp_id == -1} {return}
|
||||
|
||||
send_gdb "commands $wp_id\n"
|
||||
gdb_expect {
|
||||
-re "Type commands for breakpoint.*, one per line.*>" {
|
||||
pass "begin commands on watch"
|
||||
}
|
||||
-re "$gdb_prompt $" {fail "begin commands on watch"}
|
||||
timeout {fail "(timeout) begin commands on watch"}
|
||||
}
|
||||
send_gdb "print value\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add print command to watch"}
|
||||
-re "$gdb_prompt $" {fail "add print command to watch"}
|
||||
timeout {fail "(timeout) add print command to watch"}
|
||||
}
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add continue command to watch"}
|
||||
-re "$gdb_prompt $" {fail "add continue command to watch"}
|
||||
timeout {fail "(timeout) add continue command to watch"}
|
||||
}
|
||||
send_gdb "end\n"
|
||||
gdb_expect {
|
||||
-re "$gdb_prompt $" {pass "end commands on watch"}
|
||||
timeout {fail "(timeout) end commands on watch"}
|
||||
}
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
-re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*run.c:(57|82).*$gdb_prompt $" {
|
||||
pass "continue with watch"
|
||||
gdb_test_multiple "commands $wp_id\n" "begin commands on watch" {
|
||||
-re "Type commands for breakpoint.*, one per line.*>$" {
|
||||
pass "begin commands on watch"
|
||||
}
|
||||
-re "$gdb_prompt $" {fail "continue with watch"}
|
||||
timeout {fail "(timeout) continue with watch"}
|
||||
}
|
||||
gdb_test_multiple "print value" "add print command to watch" {
|
||||
-re ">$" {
|
||||
pass "add print command to watch"
|
||||
}
|
||||
}
|
||||
gdb_test_multiple "continue" "add continue command to watch" {
|
||||
-re ">$" {
|
||||
pass "add continue command to watch"
|
||||
}
|
||||
}
|
||||
gdb_test "end" \
|
||||
"" \
|
||||
"end commands on watch"
|
||||
|
||||
gdb_test "continue" \
|
||||
"Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*run.c:(57|82).*" \
|
||||
"continue with watch"
|
||||
}
|
||||
|
||||
proc test_command_prompt_position {} {
|
||||
@ -448,41 +426,35 @@ proc bp_deleted_in_command_test {} {
|
||||
"Breakpoint \[0-9\]+ at .*: file .*/run.c, line \[0-9\]+\." \
|
||||
"breakpoint in bp_deleted_in_command_test"
|
||||
|
||||
send_gdb "commands\n"
|
||||
gdb_expect {
|
||||
-re "Type commands for breakpoint.*>" {
|
||||
gdb_test_multiple "commands" "begin commands in bp_deleted_in_command_test" {
|
||||
-re "Type commands for breakpoint.*>$" {
|
||||
pass "begin commands in bp_deleted_in_command_test"
|
||||
}
|
||||
-re "$gdb_prompt $" {fail "begin commands in bp_deleted_in_command_test"}
|
||||
timeout {fail "(timeout) begin commands bp_deleted_in_command_test"}
|
||||
}
|
||||
send_gdb "silent\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add silent command"}
|
||||
-re "$gdb_prompt $" {fail "add silent command"}
|
||||
timeout {fail "(timeout) add silent command"}
|
||||
gdb_test_multiple "silent" "add silent command" {
|
||||
-re ">$" {
|
||||
pass "add silent command"
|
||||
}
|
||||
}
|
||||
send_gdb "clear factorial\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add clear command"}
|
||||
-re "$gdb_prompt $" {fail "add clear command"}
|
||||
timeout {fail "(timeout) add clear command"} }
|
||||
send_gdb "printf \"factorial command-list executed\\n\"\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add printf command"}
|
||||
-re "$gdb_prompt $" {fail "add printf command"}
|
||||
timeout {fail "(timeout) add printf command"}
|
||||
gdb_test_multiple "clear factorial" "add clear command" {
|
||||
-re ">$" {
|
||||
pass "add clear command"
|
||||
}
|
||||
}
|
||||
send_gdb "cont\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add cont command"}
|
||||
-re "$gdb_prompt $" {fail "add cont command"}
|
||||
timeout {fail "(timeout) add cont command"} }
|
||||
send_gdb "end\n"
|
||||
gdb_expect {
|
||||
-re "$gdb_prompt $" {pass "end commands"}
|
||||
timeout {fail "(timeout) end commands"}
|
||||
gdb_test_multiple "printf \"factorial command-list executed\\n\"" \
|
||||
"add printf command" {
|
||||
-re ">$" {
|
||||
pass "add printf command"
|
||||
}
|
||||
}
|
||||
gdb_test_multiple "cont" "add cont command" {
|
||||
-re ">$" {
|
||||
pass "add cont command"
|
||||
}
|
||||
}
|
||||
gdb_test "end" \
|
||||
"" \
|
||||
"end commands"
|
||||
|
||||
gdb_run_cmd
|
||||
gdb_expect {
|
||||
@ -515,36 +487,31 @@ proc temporary_breakpoint_commands {} {
|
||||
"Temporary breakpoint \[0-9\]+ at .*: file .*/run.c, line \[0-9\]+\." \
|
||||
"breakpoint in temporary_breakpoint_commands"
|
||||
|
||||
send_gdb "commands\n"
|
||||
gdb_expect {
|
||||
-re "Type commands for breakpoint.*>" {
|
||||
pass "begin commands in bp_deleted_in_command_test"
|
||||
gdb_test_multiple "commands" \
|
||||
"begin commands in bp_deleted_in_command_test" {
|
||||
-re "Type commands for breakpoint.*>$" {
|
||||
pass "begin commands in bp_deleted_in_command_test"
|
||||
}
|
||||
}
|
||||
gdb_test_multiple "silent" "add silent tbreak command" {
|
||||
-re ">$" {
|
||||
pass "add silent tbreak command"
|
||||
}
|
||||
-re "$gdb_prompt $" {fail "begin commands in bp_deleted_in_command_test"}
|
||||
timeout {fail "(timeout) begin commands bp_deleted_in_command_test"}
|
||||
}
|
||||
send_gdb "silent\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add silent tbreak command"}
|
||||
-re "$gdb_prompt $" {fail "add silent tbreak command"}
|
||||
timeout {fail "(timeout) add silent tbreak command"}
|
||||
}
|
||||
send_gdb "printf \"factorial tbreak commands executed\\n\"\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add printf tbreak command"}
|
||||
-re "$gdb_prompt $" {fail "add printf tbreak command"}
|
||||
timeout {fail "(timeout) add printf tbreak command"}
|
||||
}
|
||||
send_gdb "cont\n"
|
||||
gdb_expect {
|
||||
-re ">" {pass "add cont tbreak command"}
|
||||
-re "$gdb_prompt $" {fail "add cont tbreak command"}
|
||||
timeout {fail "(timeout) add cont tbreak command"} }
|
||||
send_gdb "end\n"
|
||||
gdb_expect {
|
||||
-re "$gdb_prompt $" {pass "end tbreak commands"}
|
||||
timeout {fail "(timeout) end tbreak commands"}
|
||||
}
|
||||
gdb_test_multiple "printf \"factorial tbreak commands executed\\n\"\n" \
|
||||
"add printf tbreak command" {
|
||||
-re ">$" {
|
||||
pass "add printf tbreak command"
|
||||
}
|
||||
}
|
||||
gdb_test_multiple "cont" "add cont tbreak command" {
|
||||
-re ">$" {
|
||||
pass "add cont tbreak command"
|
||||
}
|
||||
}
|
||||
gdb_test "end" \
|
||||
"" \
|
||||
"end tbreak commands"
|
||||
|
||||
gdb_run_cmd
|
||||
gdb_expect {
|
||||
|
@ -55,57 +55,26 @@ if ![runto_main] then {
|
||||
continue
|
||||
}
|
||||
|
||||
send_gdb "print (2 ? 3 : 4)\n"
|
||||
gdb_expect {
|
||||
-re ".\[0-9\]* = 3.*$gdb_prompt $" {
|
||||
pass "print value of cond expr (const true)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print value of cond expr (const true)" }
|
||||
timeout { fail "(timeout) print value of cond expr (const true)" }
|
||||
}
|
||||
gdb_test "print (2 ? 3 : 4)" "\[0-9\]* = 3" \
|
||||
"print value of cond expr (const true)"
|
||||
|
||||
send_gdb "print (0 ? 3 : 4)\n"
|
||||
gdb_expect {
|
||||
-re ".\[0-9\]* = 4.*$gdb_prompt $" {
|
||||
pass "print value of cond expr (const false)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print value of cond expr (const false)" }
|
||||
timeout { fail "(timeout) print value of cond expr (const false)" }
|
||||
}
|
||||
gdb_test "print (0 ? 3 : 4)" "\[0-9\]* = 4" \
|
||||
"print value of cond expr (const false)"
|
||||
|
||||
gdb_test "set variable x=14" "" "set variable x=14"
|
||||
gdb_test "set variable y=2" "" "set variable y=2"
|
||||
gdb_test "set variable z=3" "" "set variable z=3"
|
||||
|
||||
send_gdb "print (x ? y : z)\n"
|
||||
gdb_expect {
|
||||
-re ".\[0-9\]* = 2.*$gdb_prompt $" {
|
||||
pass "print value of cond expr (var true)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print value of cond expr (var true)" }
|
||||
timeout { fail "(timeout) print value of cond expr (var true)" }
|
||||
}
|
||||
gdb_test "print (x ? y : z)" "\[0-9\]* = 2" \
|
||||
"print value of cond expr (var true)"
|
||||
|
||||
gdb_test "set variable x=0" "" "set variable x=0"
|
||||
|
||||
send_gdb "print (x ? y : z)\n"
|
||||
gdb_expect {
|
||||
-re ".\[0-9\]* = 3.*$gdb_prompt $" {
|
||||
pass "print value of cond expr (var false)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print value of cond expr (var false)" }
|
||||
timeout { fail "(timeout) print value of cond expr (var false)" }
|
||||
}
|
||||
gdb_test "print (x ? y : z)" "\[0-9\]* = 3" \
|
||||
"print value of cond expr (var false)"
|
||||
|
||||
|
||||
send_gdb "whatis (0 ? 3 : 4)\n"
|
||||
gdb_expect {
|
||||
-re "type = int.*$gdb_prompt $" {
|
||||
pass "print whatis of cond expr"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "print whatis of cond expr" }
|
||||
timeout { fail "(timeout) print whatis of cond expr" }
|
||||
}
|
||||
gdb_test "whatis (0 ? 3 : 4)" "type = int" \
|
||||
"print whatis of cond expr"
|
||||
|
||||
|
||||
|
||||
|
@ -205,39 +205,25 @@ gdb_test "continue" "Continuing\\..*Breakpoint \[0-9\]+, main \\(argc=.*, argv=.
|
||||
# take precedence over real code.
|
||||
#
|
||||
# Until the Dwarf2 writer gets fixed, I'm going to XFAIL its behavior.
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "continue" "run until breakpoint at marker1" {
|
||||
-re "Continuing\\..*Breakpoint \[0-9\]+, marker1 \\(\\) at .*$srcfile1:($bp_location15|$bp_location16).*($bp_location15|$bp_location16)\[\t \]+.*$gdb_prompt $" {
|
||||
pass "run until breakpoint at marker1"
|
||||
}
|
||||
-re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker1 \\(\\) at .*$srcfile1:($bp_location15|$bp_location16).*($bp_location15|$bp_location16)\[\t \]+.*$gdb_prompt $" {
|
||||
xfail "run until breakpoint at marker1"
|
||||
}
|
||||
-re "$gdb_prompt $" {
|
||||
fail "run until breakpoint at marker1"
|
||||
}
|
||||
timeout {
|
||||
fail "(timeout) run until breakpoint at marker1"
|
||||
}
|
||||
}
|
||||
|
||||
# run until the breakpoint at marker2
|
||||
# Same issues here as above.
|
||||
setup_xfail hppa2.0w-*-* 11512CLLbs
|
||||
send_gdb "continue\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "continue" "run until breakpoint at marker2" {
|
||||
-re "Continuing\\..*Breakpoint \[0-9\]+, marker2 \\(a=43\\) at .*$srcfile1:($bp_location8|$bp_location9).*($bp_location8|$bp_location9)\[\t \]+.*$gdb_prompt $" {
|
||||
pass "run until breakpoint at marker2"
|
||||
}
|
||||
-re "Continuing\\..*Breakpoint \[0-9\]+, $hex in marker2 \\(a=43\\) at .*$srcfile1:($bp_location8|$bp_location9).*($bp_location8|$bp_location9)\[\t \]+.*$gdb_prompt $" {
|
||||
xfail "run until breakpoint at marker2"
|
||||
}
|
||||
-re "$gdb_prompt $" {
|
||||
fail "run until breakpoint at marker2"
|
||||
}
|
||||
timeout {
|
||||
fail "(timeout) run until breakpoint at marker2"
|
||||
}
|
||||
}
|
||||
|
||||
# Test combinations of conditional and thread-specific breakpoints.
|
||||
|
@ -60,27 +60,17 @@ gdb_test "continue" "Breakpoint $decimal, foo .*" \
|
||||
set bp_addr 0
|
||||
set stop_addr 0
|
||||
|
||||
send_gdb "x /2i \$pc\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "x /2i \$pc" "get breakpoint address for foo" {
|
||||
-re "=> $hex.*${nl} ($hex).*$gdb_prompt $" {
|
||||
set bp_addr $expect_out(1,string)
|
||||
pass "get breakpoint address for foo"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "get breakpoint address for foo"
|
||||
return 0;
|
||||
}
|
||||
timeout {
|
||||
fail "get breakpoint address for foo (timeout)"
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
gdb_test "break \*$bp_addr" "Breakpoint $decimal at $bp_addr: file .*" \
|
||||
"set bp, 2nd instr"
|
||||
|
||||
send_gdb "step\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "step" "stopped at bp, 2nd instr" {
|
||||
-re "Breakpoint $decimal, ($hex) in foo.*$gdb_prompt $" {
|
||||
set stop_addr $expect_out(1,string)
|
||||
if [eval expr "$bp_addr == $stop_addr"] then {
|
||||
@ -89,12 +79,5 @@ gdb_expect {
|
||||
fail "stopped at bp, 2nd instr (wrong address)"
|
||||
}
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "stopped at bp, 2nd instr"
|
||||
}
|
||||
timeout {
|
||||
fail "stopped at bp, 2nd instr (timeout)"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -90,52 +90,26 @@ proc local_compiler_xfail_check_2 { } {
|
||||
}
|
||||
}
|
||||
|
||||
send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"
|
||||
gdb_test "break marker1" "Breakpoint $decimal at .*"
|
||||
|
||||
send_gdb "cont\n"
|
||||
gdb_expect {
|
||||
-re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
|
||||
send_gdb "up\n"
|
||||
gdb_expect {
|
||||
-re ".*main.*$gdb_prompt $" {
|
||||
pass "up from marker1"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "up from marker1"
|
||||
}
|
||||
timeout { fail "up from marker1 (timeout)" }
|
||||
}
|
||||
}
|
||||
-re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" {
|
||||
fail "continue to marker1 (demangling)"
|
||||
send_gdb "up\n"
|
||||
gdb_expect {
|
||||
-re ".*main.*$gdb_prompt $" {
|
||||
pass "up from marker1"
|
||||
}
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "up from marker1"
|
||||
}
|
||||
timeout { fail "up from marker1 (timeout)" }
|
||||
}
|
||||
}
|
||||
-re "$gdb_prompt $" { fail "continue to marker1" }
|
||||
timeout { fail "(timeout) continue to marker1" }
|
||||
gdb_test_multiple "cont" "up from marker1" {
|
||||
-re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
|
||||
pass "continue to marker1"
|
||||
gdb_test "up" " main .*" "up from marker1"
|
||||
}
|
||||
-re "Break.* marker1__.* \\(\\) at .*:$decimal.*$gdb_prompt $" {
|
||||
fail "continue to marker1 (demangling)"
|
||||
gdb_test "up" " main .*" "up from marker1"
|
||||
}
|
||||
}
|
||||
|
||||
# test function parameters
|
||||
|
||||
local_compiler_xfail_check
|
||||
local_compiler_xfail_check_2
|
||||
|
||||
send_gdb "ptype qux1\n"
|
||||
gdb_expect {
|
||||
-re "type = int \\(const char, const char, const char \\*, char \\* const\\).*$gdb_prompt $" {
|
||||
pass "ptype qux1"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "ptype qux1" }
|
||||
timeout { fail "(timeout) ptype qux1" }
|
||||
}
|
||||
gdb_test "ptype qux1" \
|
||||
"type = int \\(const char, const char, const char \\*, char \\* const\\).*"
|
||||
|
||||
# test vars and pointers
|
||||
|
||||
|
@ -123,8 +123,7 @@ gdb_load ${binfile}
|
||||
|
||||
# Test basic corefile recognition via core-file command.
|
||||
|
||||
send_gdb "core-file $corefile\n"
|
||||
gdb_expect {
|
||||
gdb_test_multiple "core-file $corefile" "core-file command" {
|
||||
-re ".* program is being debugged already.*y or n. $" {
|
||||
# gdb_load may connect us to a gdbserver.
|
||||
send_gdb "y\n"
|
||||
@ -139,8 +138,6 @@ gdb_expect {
|
||||
-re ".*registers from core file: File in wrong format.* $" {
|
||||
fail "core-file command (could not read registers from core file)"
|
||||
}
|
||||
-re ".*$gdb_prompt $" { fail "core-file command" }
|
||||
timeout { fail "(timeout) core-file command" }
|
||||
}
|
||||
|
||||
# Test correct mapping of corefile sections by printing some variables.
|
||||
|
Loading…
Reference in New Issue
Block a user