public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Avoid having to unload file in gdb.server/connect-with-no-symbol-file.exp
@ 2022-05-17 10:15 Pedro Alves
  0 siblings, 0 replies; only message in thread
From: Pedro Alves @ 2022-05-17 10:15 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8d08cccb0147025f028898542263e3f83259bba9

commit 8d08cccb0147025f028898542263e3f83259bba9
Author: Pedro Alves <pedro@palves.net>
Date:   Wed Mar 30 14:31:56 2022 +0100

    Avoid having to unload file in gdb.server/connect-with-no-symbol-file.exp
    
    gdb.server/connect-with-no-symbol-file.exp's connect_no_symbol_file
    does:
    
            gdb_test "file" ".*" "discard symbol table" \
                {Discard symbol table from `.*'\? \(y or n\) } "y"
    
    A following patch will make gdb_test expect the question out of GDB if
    one is passed down as argument to gdb_test.  With that, this test
    starts failing.  This is because connect_no_symbol_file is called in a
    loop, and the first time around, there's a loaded file, so "file" asks
    the "Discard symbol table ... ?" question, while in the following
    iterations there's no file, so there's no question.
    
    Fix this by not loading a file into GDB in the first place.
    
    Change-Id: I810c036b57842c4c5b47faf340466b0d446d1abc

Diff:
---
 .../gdb.server/connect-with-no-symbol-file.exp          | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp b/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp
index af5917d9018..6c480c8c0cf 100644
--- a/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp
+++ b/gdb/testsuite/gdb.server/connect-with-no-symbol-file.exp
@@ -29,7 +29,7 @@ if { [skip_gdbserver_tests] } {
     return 0
 }
 
-if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {
+if { [build_executable "failed to prepare" $testfile $srcfile debug] } {
     return -1
 }
 
@@ -46,22 +46,16 @@ proc connect_no_symbol_file { sysroot action } {
 
     with_test_prefix "setup" {
 	# Copy the symbol file to the target.
-	gdb_remote_download target $binfile.bak $binfile 
+	set target_exec [gdb_remote_download target $binfile.bak $binfile]
 
 	# Make sure we're disconnected, in case we're testing with an
 	# extended-remote board, therefore already connected.
 	gdb_test "disconnect" ".*"
 
-	# Discard any symbol files that we have opened.
-	gdb_test "file" ".*" "discard symbol table" \
-	    {Discard symbol table from `.*'\? \(y or n\) } "y"
-
 	# Set sysroot to something non-target and possibly also invalid so that
 	# GDB is unable to open the symbol file.
 	gdb_test_no_output "set sysroot $sysroot" "adjust sysroot"
 
-	set target_exec [gdbserver_download_current_prog]
-
 	# Start GDBserver.
 	set res [gdbserver_start "" $target_exec]
 
@@ -70,9 +64,9 @@ proc connect_no_symbol_file { sysroot action } {
 
 	# Perform test actions to the symbol file on the target.
 	if { $action == "delete" } then {
-	  remote_file target delete $binfile
+	  remote_file target delete $target_exec
 	} elseif { $action == "permission" } {
-	  remote_spawn target "chmod 000 $binfile"
+	  remote_spawn target "chmod 000 $target_exec"
 	}
        
 	# Connect to GDBserver.
@@ -89,6 +83,9 @@ proc connect_no_symbol_file { sysroot action } {
 # Make sure we have the original symbol file in a safe place to copy from.
 gdb_remote_download host $binfile $binfile.bak
 
+# Start with no executable loaded.
+clean_restart
+
 # Run the test with different permutations.
 foreach_with_prefix sysroot {"" "target:"} {
     foreach_with_prefix action {"permission" "delete"} {


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-05-17 10:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17 10:15 [binutils-gdb] Avoid having to unload file in gdb.server/connect-with-no-symbol-file.exp Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).