From b0237c0eab6b71a0051c19150e31adbdb4ad0f61 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 29 Jun 2020 11:02:06 +0200 Subject: [gdb/testsuite] Expect conformation question in gdb.server/solib-list.exp Before commit a8654e7d78 'Fixes PR 25475: ensure exec-file-mismatch "ask" always asks in case of mismatch', there was a difference in behaviour in test-case gdb.server/solib-list.exp. If the executable did not contain debug info (as is usually the case), gdb would detect a mismatch but not ask for confirmation: ... (gdb) target remote localhost:2346^M Remote debugging using localhost:2346^M warning: Mismatch between current exec-file solib-list^M and automatically determined exec-file /lib64/ld-2.26.so^M exec-file-mismatch handling is currently "ask"^M Reading symbols from /lib64/ld-2.26.so...^M Reading symbols from /usr/lib/debug/lib64/ld-2.26.so.debug...^M 0x00007ffff7dd7ea0 in _start () at rtld.c:745^M 745 }^M (gdb) PASS: gdb.server/solib-list.exp: non-stop 0: target remote ... If the executable did contain debug info (as happens to be the case for openSUSE), gdb would detect a mismatch and ask for confirmation: ... (gdb) PASS: gdb.server/solib-list.exp: non-stop 0: file binfile target remote localhost:2346^M Remote debugging using localhost:2346^M warning: Mismatch between current exec-file solib-list^M and automatically determined exec-file /lib64/ld-2.26.so^M exec-file-mismatch handling is currently "ask"^M Load new symbol table from "/lib64/ld-2.26.so"? (y or n) y^M Reading symbols from /lib64/ld-2.26.so...^M Reading symbols from /usr/lib/debug/lib64/ld-2.26.so.debug...^M 0x00007ffff7dd7ea0 in _start () at rtld.c:745^M 745 }^M (gdb) PASS: gdb.server/solib-list.exp: non-stop 0: target remote ... After commit a8654e7d78, the confirmation is now also asked in case there's no debug info. Tighten the test-case by verifying that the confirmation question is asked, as suggested in the log message of commit a8654e7d78: ... we can remove the bypass introduced by Tom in 6b9374f1, in order to always answer to the 'load' question. ... gdb/testsuite/ChangeLog: 2020-06-29 Tom de Vries PR gdb/25475 * gdb.server/solib-list.exp: Verify that the symbol reload confirmation question is asked. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.server/solib-list.exp | 3 +++ 2 files changed, 9 insertions(+) (limited to 'gdb') diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index adb5349..0c2f47b 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-06-29 Tom de Vries + + PR gdb/25475 + * gdb.server/solib-list.exp: Verify that the symbol reload + confirmation question is asked. + 2020-06-26 Philippe Waroquiers * lib/gdb.exp (gdb_test_multiline): New, moved from gdb-guile.exp, diff --git a/gdb/testsuite/gdb.server/solib-list.exp b/gdb/testsuite/gdb.server/solib-list.exp index 6f077c6..a326f94 100644 --- a/gdb/testsuite/gdb.server/solib-list.exp +++ b/gdb/testsuite/gdb.server/solib-list.exp @@ -93,12 +93,14 @@ foreach nonstop { 0 1 } { with_test_prefix "non-stop $nonstop" { set test "target $gdbserver_protocol" set ok 0 + set new_symbol_table 0 gdb_test_multiple "target $gdbserver_protocol $gdbserver_gdbport" $test { -re "Remote debugging using" { set ok 1 exp_continue } -re {.*Load new symbol table from ".*"\? \(y or n\) } { + set new_symbol_table 1 send_gdb "y\n" answer exp_continue } @@ -111,6 +113,7 @@ foreach nonstop { 0 1 } { with_test_prefix "non-stop $nonstop" { } } } + gdb_assert {$new_symbol_table == 1} gdb_test "continue" "Program received signal SIGUSR1, .*" gdb_test "sharedlibrary" ".*" -- cgit v1.1