From 0ba678c9ae62c20bb7f2370f51a4e9f1c8f2f409 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 9 Mar 2020 15:32:54 +0100 Subject: [PATCH] [gdb/testsuite] Fix tcl error in cached_file When trying to run tests using target board cc-with-dwz after a clean build, I run into: ... ERROR: tcl error sourcing board description file for target cc-with-tweaks.exp. couldn't open "build/gdb/testsuite/cache/gdb.sh.17028": \ no such file or directory couldn't open "build/gdb/testsuite/cache/gdb.sh.17028": \ no such file or directory while executing "open $tmp_filename w" (procedure "cached_file" line 9) invoked from within "cached_file gdb.sh "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS \"\$@\"" 1" ... The problem is that cached_file is trying to create a file build/gdb/testsuite/cache/gdb.sh.17028 in a non-existing directory. Fix this by creating the cache dir in cached_file. Tested on x86_64-linux, with target board cc-with-tweaks, and native. gdb/testsuite/ChangeLog: 2020-03-09 Tom de Vries * lib/gdb.exp (cached_file): Create cache dir. --- gdb/testsuite/ChangeLog | 4 ++++ gdb/testsuite/lib/gdb.exp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index c3dda74cc8e..f9e0c201c1f 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-03-09 Tom de Vries + + * lib/gdb.exp (cached_file): Create cache dir. + 2020-03-07 Tom de Vries * gdb.cp/ref-params.exp: Compare build_executable result with -1. diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 55e58584c8f..9614e8dc87c 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -4958,6 +4958,9 @@ proc cached_file { filename txt {executable 0}} { return $filename } + set dir [file dirname $filename] + file mkdir $dir + set tmp_filename $filename.[pid] set fd [open $tmp_filename w] puts $fd $txt -- 2.30.2