diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2016-02-16 09:00:50 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2016-02-16 09:01:38 -0500 |
commit | 266b65b33e23c916e5e698d24c37f65d90645a19 (patch) | |
tree | df74af17b50ad4ed32b8f78adf2bc1d24e20b3a9 /gdb/testsuite/gdb.trace | |
parent | 1cd17042aad6b0c2e10537bb400a496958178029 (diff) | |
download | fsf-binutils-gdb-266b65b33e23c916e5e698d24c37f65d90645a19.zip fsf-binutils-gdb-266b65b33e23c916e5e698d24c37f65d90645a19.tar.gz fsf-binutils-gdb-266b65b33e23c916e5e698d24c37f65d90645a19.tar.bz2 |
testsuite: Fix save-trace.exp writing outside standard output directory
In save-trace.exp, we want to test loading of a tracepoint definition
file with a relative path (I am not sure why in fact). We currently use
"savetrace-relative.tr", which ends up directly in testsuite/. If we
use [standard_output_file] on that path, it becomes absolute. I decided
to just replace [pwd] with . (a dot) in the path given by
standard_output_file to make it relative. However, this trick only
works because [pwd] is a prefix of the standard output directory. So I
added a check to verify that precondition.
gdb/testsuite/ChangeLog:
* gdb.trace/save-trace.exp: Change relative path to be in the
standard output directory.
Diffstat (limited to 'gdb/testsuite/gdb.trace')
-rw-r--r-- | gdb/testsuite/gdb.trace/save-trace.exp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.trace/save-trace.exp b/gdb/testsuite/gdb.trace/save-trace.exp index 7c897bb..a70ad54 100644 --- a/gdb/testsuite/gdb.trace/save-trace.exp +++ b/gdb/testsuite/gdb.trace/save-trace.exp @@ -151,7 +151,18 @@ proc do_save_load_test { save_path } { gdb_verify_tracepoints "verify trace setup" with_test_prefix "relative" { - do_save_load_test "savetrace-relative.tr" + set filepath [standard_output_file "savetrace-relative.tr"] + + # This only works because the pwd is a prefix of the standard output + # directory. If this assumption becomes false, then this test needs to be + # changed (the relative path from [pwd] to the standard output directory + # will become a bit more complicated to compute). + if {[string first [pwd] $filepath] != 0} { + error "[pwd] is not a prefix of $filepath." + } + + set filepath [string map "[pwd] ." $filepath] + do_save_load_test "$filepath" } with_test_prefix "absolute" { |