From: Tom de Vries Date: Fri, 8 Oct 2021 12:17:09 +0000 (+0200) Subject: [gdb/testsuite] Fix gdb.base/info_sources_2.exp with check-read1 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=048cb8b4666f8bb93649a1e0b4b8889b1e5f8073;p=binutils-gdb.git [gdb/testsuite] Fix gdb.base/info_sources_2.exp with check-read1 When running test-case gdb.base/info_sources_2.exp with check-read1, I run into: ... FAIL: gdb.base/info_sources_2.exp: args: : info sources (timeout) ... Fix this by consuming a "$src1, $src2, ..., $srcn: line bit by bit rather than as one whole line. Also add the missing handling of "Objfile has no debug information". Tested on x86_64-linux. --- diff --git a/gdb/testsuite/gdb.base/info_sources_2.exp b/gdb/testsuite/gdb.base/info_sources_2.exp index 3aed25b07ac..186b21c2ed8 100644 --- a/gdb/testsuite/gdb.base/info_sources_2.exp +++ b/gdb/testsuite/gdb.base/info_sources_2.exp @@ -68,6 +68,7 @@ proc run_info_sources { extra_args args } { # Run the command and extract the results into INFO_SOURCES. set objfile_name "" set source_files {} + set files {} gdb_test_multiple $cmd "" { -re "${command_regex}\r\n" { exp_continue @@ -81,6 +82,9 @@ proc run_info_sources { extra_args args } { -re "^\\(Full debug information has not yet been read for this file\\.\\)\r\n" { exp_continue } + -re "^\\(Objfile has no debug information\\.\\)\r\n" { + exp_continue + } -re "^\r\n" { exp_continue @@ -90,18 +94,22 @@ proc run_info_sources { extra_args args } { pass $gdb_test_name } + -re "^(\[^,\r\n\]+), " { + set f $expect_out(1,string) + lappend files $f + exp_continue + } -re "^(\[^\r\n\]+)\r\n" { if { $objfile_name == "" } { fail "${gdb_test_name} (no objfile name)" return } - set files {} - foreach f [split $expect_out(1,string) ,] { - lappend files [string trim $f] - } + set f $expect_out(1,string) + lappend files $f set info_sources($objfile_name) $files set $objfile_name "" + set files {} exp_continue } }