[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>
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 @@
# 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 @@
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 @@
# 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.