[committed][gdb/testsuite] Fix gdb.base/maint.exp FAILs with -readnow
Tom de Vries
tdevries@suse.de
Tue Oct 27 22:17:58 GMT 2020
Hi,
When running test-case gdb.base/maint.exp with target board readnow, we run
into:
...
FAIL: gdb.base/maint.exp: mt expand-symtabs
FAIL: gdb.base/maint.exp: maint print objfiles: psymtabs
FAIL: gdb.base/maint.exp: maint print psymbols -source
FAIL: gdb.base/maint.exp: maint print psymbols -pc
FAIL: gdb.base/maint.exp: maint info line-table with filename of symtab that \
is not currently expanded
...
When using -readnow:
- there are no partial symtabs
- all symtabs are expanded at symbol load time
and these differences from normal behaviour cause the FAILs.
Update the tests for -readnow.
Tested on x86_64-linux.
Committed to trunk.
Thanks,
- Tom
[gdb/testsuite] Fix gdb.base/maint.exp FAILs with -readnow
gdb/testsuite/ChangeLog:
2020-10-27 Tom de Vries <tdevries@suse.de>
* gdb.base/maint.exp: Update for -readnow.
---
gdb/testsuite/gdb.base/maint.exp | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp
index 00fe8c296c..e2340d1722 100644
--- a/gdb/testsuite/gdb.base/maint.exp
+++ b/gdb/testsuite/gdb.base/maint.exp
@@ -53,6 +53,8 @@ if {[prepare_for_testing "failed to prepare" $testfile \
return -1
}
+set readnow_p [readnow]
+
# The commands we test here produce many lines of output; disable "press
# <return> to continue" prompts.
gdb_test_no_output "set height 0"
@@ -96,7 +98,14 @@ gdb_test_multiple "mt expand-symtabs $subdir/break\[.\]c$" \
# holding "main" will already have been expanded, but if the
# file is compiled with -fdebug-types-section then a second primary
# symtab for break.c will be created for any types.
- pass "mt expand-symtabs"
+ pass "$gdb_test_name"
+ }
+ -re "#compunits: ($decimal) \\(\[+\]0\\),.*$gdb_prompt $" {
+ if { $readnow_p } {
+ pass "$gdb_test_name"
+ } else {
+ fail "$gdb_test_name"
+ }
}
}
gdb_test "mt set per off" ".*" "mt set per off for expand-symtabs"
@@ -153,6 +162,8 @@ if { $index_cache_misses == 0 && $using_index_cache } {
set have_gdb_index 1
}
+set have_psyms [expr ! ( $have_gdb_index || $readnow_p )]
+
#
# this command does not produce any output
# unless there is some problem with the symtabs and psymtabs
@@ -250,12 +261,12 @@ proc maint_pass_if {val name} {
}
maint_pass_if $header "maint print objfiles: header"
-if { ! $have_gdb_index } {
+if { $have_psyms } {
maint_pass_if $psymtabs "maint print objfiles: psymtabs"
}
maint_pass_if $symtabs "maint print objfiles: symtabs"
-if { ! $have_gdb_index } {
+if { $have_psyms } {
set psymbols_output [standard_output_file psymbols_output]
set psymbols_output_re [string_to_regexp $psymbols_output]
set test_list [list \
@@ -546,8 +557,12 @@ gdb_test "maint info line-table ${srcfile}" \
"symtab: \[^\n\r\]+${srcfile}.*INDEX.*LINE.*ADDRESS.*" \
"maint info line-table with filename of current symtab"
-gdb_test_no_output "maint info line-table ${srcfile2}" \
- "maint info line-table with filename of symtab that is not currently expanded"
+if { ! $readnow_p } {
+ gdb_test_no_output "maint info line-table ${srcfile2}" \
+ [join \
+ "maint info line-table with filename of symtab that is not" \
+ " currently expanded"]
+}
gdb_test_no_output "maint expand-symtabs"
More information about the Gdb-patches
mailing list