aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2016-02-16 09:00:50 -0500
committerSimon Marchi <simon.marchi@ericsson.com>2016-02-16 09:01:38 -0500
commit266b65b33e23c916e5e698d24c37f65d90645a19 (patch)
treedf74af17b50ad4ed32b8f78adf2bc1d24e20b3a9
parent1cd17042aad6b0c2e10537bb400a496958178029 (diff)
downloadgdb-266b65b33e23c916e5e698d24c37f65d90645a19.zip
gdb-266b65b33e23c916e5e698d24c37f65d90645a19.tar.gz
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.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.trace/save-trace.exp13
2 files changed, 17 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index a62d358..5c663ef 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-16 Simon Marchi <simon.marchi@ericsson.com>
+
+ * gdb.trace/save-trace.exp: Change relative path to be in the
+ standard output directory.
+
2016-02-15 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.arch/i386-prologue.c: Add missing prototypes.
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" {