From: Tom de Vries Date: Fri, 14 Apr 2023 11:47:19 +0000 (+0200) Subject: [gdb/testsuite] Add regression test for PR30325 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aa2306fbfe2748854439c1ace9ec733560a0746c;p=binutils-gdb.git [gdb/testsuite] Add regression test for PR30325 Add regression tests for PR30325, one for the asm window and one for the source window. Use maint set tui-left-margin verbose to make the extend of the left margin clear. Tested on x86_64-linux. Approved-By: Andrew Burgess --- diff --git a/gdb/testsuite/gdb.tui/main.exp b/gdb/testsuite/gdb.tui/main.exp index e5f26c7aac3..7fc9969044f 100644 --- a/gdb/testsuite/gdb.tui/main.exp +++ b/gdb/testsuite/gdb.tui/main.exp @@ -26,16 +26,23 @@ if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} { # Note: don't pass the executable here Term::clean_restart 24 80 +set line " return 0;" +set nr [gdb_get_line_number $line] + # Later on we'd like to avoid having to answer a question. gdb_test_no_output "set interactive-mode off" +# Show the left margin using tui-left-margin-verbose. +gdb_test_no_output "maint set tui-left-margin-verbose on" + if {![Term::enter_tui]} { unsupported "TUI not supported" return } Term::command "file [standard_output_file $testfile]" -Term::check_contents "show main after file" "\\|.*21 *return 0" +Term::check_contents "show main after file" \ + [string_to_regexp "|___[format %06d $nr]_$line"] # Ensure that "file" clears the source window. Term::command "file" diff --git a/gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp b/gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp index d32310fffcc..9014622d35c 100644 --- a/gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp +++ b/gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp @@ -37,6 +37,9 @@ if { $gdb_file_cmd_debug_info == "nodebug" } { return } +# Show the left margin using tui-left-margin-verbose. +gdb_test_no_output "maint set tui-left-margin-verbose on" + # This puts us into TUI mode, and should display the ASM window. Term::command_no_prompt_prefix "layout asm" Term::check_box_contents "check asm box contents" 0 0 80 15 "<_start>" @@ -44,13 +47,17 @@ Term::check_box_contents "check asm box contents" 0 0 80 15 "<_start>" # Record the first line of output, we'll need this later. set first_line [Term::get_line 1] +# Check that the left margin contains three underscores. +gdb_assert { [string match "|___0x*" $first_line] } \ + "check verbose left margin" + # Scroll forward a large amount, this should take us to the last # instruction in the program. Term::command "+ 13" Term::check_box_contents "check asm box contents again" 0 0 80 15 \ [multi_line \ - "^ *$hex\[^\r\n\]+" \ - "\\s+"] + "^___$hex\[^\r\n\]+" \ + "___\\s+"] # Now scroll backward again, we should return to the start of the # program.