From aa2306fbfe2748854439c1ace9ec733560a0746c Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 14 Apr 2023 13:47:19 +0200 Subject: [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 --- gdb/testsuite/gdb.tui/main.exp | 9 ++++++++- gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp | 11 +++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'gdb/testsuite/gdb.tui') diff --git a/gdb/testsuite/gdb.tui/main.exp b/gdb/testsuite/gdb.tui/main.exp index e5f26c7..7fc9969 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 d32310f..9014622 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. -- cgit v1.1