Re: [pushed] [gdb/testsuite] Clean up before compilation in gdb.ada/call-no-debug.exp

Tom de Vries via Gdb-patches
2023-06-17T10:50:35Z

[-- Attachment #1: Type: text/plain, Size: 555 bytes --]

On 6/16/23 20:38, Tom Tromey wrote:
>>>>>> "Tom" == Tom de Vries via Gdb-patches <gdb-patches@sourceware.org> writes:
>
> Tom> Running test-case gdb.ada/call-no-debug.exp with target board unix/-m64 works
> Tom> fine, but if we run it again with target board unix-m32, we run into:
>
> Thanks for doing this.
>
> If gdb's test suite could detect when a new .exp is started, we could
> make this always work by removing the corresponding standard output directory.

Hi,

thanks for the suggestion, I've implemented it in gdb_init. WDYT?

Thanks,
- Tom

[-- Attachment #2: 0001-gdb-testsuite-Clean-standard_output_file-dir-in-gdb_.patch --]
[-- Type: text/x-patch, Size: 2117 bytes --]

From f6b5a812244b824a72f305e74f2853d03d4d3ed1 Mon Sep 17 00:00:00 2001
From: Tom de Vries <tdevries@suse.de>
Date: Sat, 17 Jun 2023 12:37:46 +0200
Subject: [PATCH] [gdb/testsuite] Clean standard_output_file dir in gdb_init

In commit e2adba909e7 ("[gdb/testsuite] Clean up before compilation in
gdb.ada/call-no-debug.exp") I added some code in the test-case to remove some
files at the start of the test-case:
...
remote_file host delete [standard_output_file prog.o]
remote_file host delete [standard_output_file prog.ali]
...

Replace this with cleaning up the entire directory instead, for all
test-cases.

Tested on x86_64-linux.
---
gdb/testsuite/gdb.ada/call-no-debug.exp | 5 -----
gdb/testsuite/lib/gdb.exp | 3 +++
2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/gdb/testsuite/gdb.ada/call-no-debug.exp b/gdb/testsuite/gdb.ada/call-no-debug.exp
index df81c87ade2..422b83761d9 100644
--- a/gdb/testsuite/gdb.ada/call-no-debug.exp
+++ b/gdb/testsuite/gdb.ada/call-no-debug.exp
@@ -21,11 +21,6 @@ require allow_ada_tests

standard_ada_testfile prog

-# Since we use no-force to compile prog, make sure we don't pick up files
-# from a previous compilation.
-remote_file host delete [standard_output_file prog.o]
-remote_file host delete [standard_output_file prog.ali]
-
# Compile pck without debuginfo but prog with it.
if {[gdb_compile_ada $srcdir/$subdir/$testdir/pck.adb \
[standard_output_file pck.o] object {}] != ""} {
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index f214a6bb54d..741b851b900 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -6420,6 +6420,9 @@ proc default_gdb_init { test_file_name } {

set gdb_test_file_name [file rootname [file tail $test_file_name]]

+ # Clean directory containing the standard output files.
+ remote_exec build "rm -rf [standard_output_file ""]"
+
# Make sure that the wrapper is rebuilt
# with the appropriate multilib option.
if { $gdb_wrapper_target != [current_target_name] } {

base-commit: 34a6dcd4422a194a45ae5297ca6d0d56d4c75e97
--
2.35.3