aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.guile
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2021-05-10 16:49:56 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2021-05-10 17:56:16 +0100
commit9344937b0462392f8996176c1f6d39ffc8eb84f5 (patch)
treefc904bd54bcd7a73c84dc7a1ee56ac5f8de4e2ec /gdb/testsuite/gdb.guile
parent0709cf686d42d00066ead084ceef1fbfd44ca558 (diff)
downloadgdb-9344937b0462392f8996176c1f6d39ffc8eb84f5.zip
gdb-9344937b0462392f8996176c1f6d39ffc8eb84f5.tar.gz
gdb-9344937b0462392f8996176c1f6d39ffc8eb84f5.tar.bz2
gdb/testsuite: don't use source tree as temporary HOME directory
In this commit: commit 1845e254645efbc02248345ccdb557d265dd8ae1 Date: Wed May 5 16:50:17 2021 +0100 gdb/guile: perform tilde expansion when sourcing guile scripts A test was added that tries to source a guile script from the users HOME directory. In order to achieve this the test (temporarily) modifies $HOME to point into the binutils-gdb source tree. The problem with this is that sourcing a guile script can cause the guile script to be byte compiled and written into a .cache/ directory, which is stored .... in the $HOME directory. The result was that the test added in the above commit would cause a .cache/ directory to be added into the binutils-gdb source tree. In this commit the test is updated to create a new directory in the build tree, the file we want to source is copied over, and $HOME is set to point at the location in the build tree. Now when the test is run the .cache/ directory is created in the build tree, leaving the source tree untouched. gdb/testsuite/ChangeLog: * gdb.guile/guile.exp: Don't use the source directory as a temporary HOME directory.
Diffstat (limited to 'gdb/testsuite/gdb.guile')
-rw-r--r--gdb/testsuite/gdb.guile/guile.exp13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.guile/guile.exp b/gdb/testsuite/gdb.guile/guile.exp
index 0fb8228..33250ff 100644
--- a/gdb/testsuite/gdb.guile/guile.exp
+++ b/gdb/testsuite/gdb.guile/guile.exp
@@ -85,7 +85,18 @@ gdb_test "guile (print a)" "= .*aliases -- User-defined aliases of other command
# Verify that we can source a guile script using ~ for the HOME directory.
save_vars { env(HOME) } {
- set env(HOME) $srcdir/$subdir
+ # Create a new directory to act as a temporary HOME directory.
+ set tmp_home [standard_output_file tmp_home]
+ file mkdir $tmp_home
+
+ # Copy the file we want to source into the new HOME directory.
+ gdb_remote_download host ${srcdir}/${subdir}/source2.scm \
+ ${tmp_home}/source2.scm
+
+ # Arrange to use the new HOME directory.
+ set env(HOME) $tmp_home
clean_restart
+
+ # Finally, source the file out of our new HOME directory.
gdb_test "source ~/source2.scm" "yes"
}