diff options
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 28 | ||||
-rw-r--r-- | gdb/testsuite/lib/mi-support.exp | 13 |
2 files changed, 36 insertions, 5 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 015e202..52220d0 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -4896,24 +4896,44 @@ gdb_caching_proc gdb_has_argv0 { } } + set old_elements "200" + set test "show print elements" + gdb_test_multiple $test $test { + -re "Limit on string chars or array elements to print is (\[^\r\n\]+)\\.\r\n$gdb_prompt $" { + set old_elements $expect_out(1,string) + } + } + set old_repeats "200" + set test "show print repeats" + gdb_test_multiple $test $test { + -re "Threshold for repeated print elements is (\[^\r\n\]+)\\.\r\n$gdb_prompt $" { + set old_repeats $expect_out(1,string) + } + } + gdb_test_no_output "set print elements unlimited" "" + gdb_test_no_output "set print repeats unlimited" "" + + set retval 0 # Check whether argc is 1. gdb_test_multiple "p argc" "p argc" { -re " = 1\r\n${gdb_prompt} $" { gdb_test_multiple "p argv\[0\]" "p argv\[0\]" { -re " = $hex \".*[file tail $exe]\"\r\n${gdb_prompt} $" { - return 1 + set retval 1 } -re "${gdb_prompt} $" { - return 0 } } } -re "${gdb_prompt} $" { - return 0 } } - return 0 + + gdb_test_no_output "set print elements $old_elements" "" + gdb_test_no_output "set print repeats $old_repeats" "" + + return $retval } set result [gdb_has_argv0_1 $exe] diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp index 7f9a3f5..cb8227d 100644 --- a/gdb/testsuite/lib/mi-support.exp +++ b/gdb/testsuite/lib/mi-support.exp @@ -1968,8 +1968,19 @@ proc mi_load_shlibs { args } { mi_gdb_test "set solib-search-path [file dirname [lindex $args 0]]" "\^done" "" } -proc mi_check_thread_states { states test } { +proc mi_reverse_list { list } { + if { [llength $list] <= 1 } { + return $list + } + set tail [lrange $list 1 [llength $list]] + set rtail [mi_reverse_list $tail] + lappend rtail [lindex $list 0] + return $rtail +} + +proc mi_check_thread_states { xstates test } { global expect_out + set states [mi_reverse_list $xstates] set pattern ".*\\^done,threads=\\\[" foreach s $states { set pattern "${pattern}(.*)state=\"$s\"" |