diff options
author | Tom de Vries <tdevries@suse.de> | 2023-04-14 13:47:19 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-04-14 13:47:19 +0200 |
commit | aa2306fbfe2748854439c1ace9ec733560a0746c (patch) | |
tree | f3879cf00b6f19a3fc2cd2e45071ec46667526e5 /gdb/testsuite/gdb.tui | |
parent | 463b1a1ad2c573252b16465ab13cbb4f21975b6a (diff) | |
download | gdb-aa2306fbfe2748854439c1ace9ec733560a0746c.zip gdb-aa2306fbfe2748854439c1ace9ec733560a0746c.tar.gz gdb-aa2306fbfe2748854439c1ace9ec733560a0746c.tar.bz2 |
[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 <aburgess@redhat.com>
Diffstat (limited to 'gdb/testsuite/gdb.tui')
-rw-r--r-- | gdb/testsuite/gdb.tui/main.exp | 9 | ||||
-rw-r--r-- | gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp | 11 |
2 files changed, 17 insertions, 3 deletions
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. |