aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.tui
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2023-04-14 13:47:19 +0200
committerTom de Vries <tdevries@suse.de>2023-04-14 13:47:19 +0200
commitaa2306fbfe2748854439c1ace9ec733560a0746c (patch)
treef3879cf00b6f19a3fc2cd2e45071ec46667526e5 /gdb/testsuite/gdb.tui
parent463b1a1ad2c573252b16465ab13cbb4f21975b6a (diff)
downloadgdb-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.exp9
-rw-r--r--gdb/testsuite/gdb.tui/tui-layout-asm-short-prog.exp11
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.