From: Tom de Vries Date: Tue, 27 Oct 2020 22:17:09 +0000 (+0100) Subject: [gdb/testsuite] Fix gdb.base/maint.exp FAILs with -readnow X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5868da034f47fd7e5c3d4bf0ba204850df144271;p=binutils-gdb.git [gdb/testsuite] Fix gdb.base/maint.exp FAILs with -readnow 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. gdb/testsuite/ChangeLog: 2020-10-27 Tom de Vries * gdb.base/maint.exp: Update for -readnow. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 472e74d9d35..3100ced0511 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-10-27 Tom de Vries + + * gdb.base/maint.exp: Update for -readnow. + 2020-10-27 Tom de Vries * gdb.cp/psymtab-parameter.exp: Don't expect unexpanded CU for diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp index 00fe8c296cd..e2340d1722f 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 # 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"