From: greened@obbligato.org
To: git@vger.kernel.org
Cc: "David A. Greene" <greened@obbligato.org>
Subject: [PATCH 2/2] Support Out-Of-Tree Valgrind Tests
Date: Sun, 4 Mar 2012 17:23:57 -0600 [thread overview]
Message-ID: <1330903437-31386-2-git-send-email-greened@obbligato.org> (raw)
In-Reply-To: <1330903437-31386-1-git-send-email-greened@obbligato.org>
From: "David A. Greene" <greened@obbligato.org>
Allow tests that do not live in the top-level t/ directory to run
under valgrind. This requires exporting a couple more variables to
indicate where the git tools were built and where the valgrind support
files live.
Prior to this chage the valgrind support files were hard-coded to be
in a sibling directory to where the valgrind tests are run.
Also prior to this change the base git build was hard-coded to be
exactly two directories up from where the valgrind tests are run.
Signed-off-by: David A. Greene <greened@obbligato.org>
---
t/test-lib.sh | 22 ++++++++++++++++++++--
t/valgrind/valgrind.sh | 4 ++--
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index cb3a0a2..0ebb3a8 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -56,6 +56,7 @@ unset $(perl -e '
PROVE
VALGRIND
BUILD_DIR
+ VALGRIND_TOOLS
));
my @vars = grep(/^GIT_/ && !/^GIT_($ok)/o, @env);
print join("\n", @vars);
@@ -917,6 +918,20 @@ then
GIT_BUILD_DIR="$TEST_DIRECTORY"/..
fi
+# GIT_VALGRIND_TOOLS is the location of tools like valgrind.sh.
+if test -z "$GIT_VALGRIND_TOOLS"
+then
+ # We allow tests to override this, in case they want to run tests
+ # outside of t/.
+
+ # For in-tree test scripts, this is in TEST_DIRECTORY/valgrind
+ # (t/valgrind), but a test script that lives outside t/ can
+ # set this variable to point at the right place so that it can
+ # find t/valgrind directory that house test helpers like
+ # valgrind.sh.
+ GIT_VALGRIND_TOOLS="$TEST_DIRECTORY"/valgrind
+fi
+
if test -n "$valgrind"
then
make_symlink () {
@@ -954,11 +969,11 @@ then
test ! -d "$symlink_target" &&
test "#!" != "$(head -c 2 < "$symlink_target")"
then
- symlink_target=../valgrind.sh
+ symlink_target=${GIT_VALGRIND_TOOLS}/valgrind.sh
fi
case "$base" in
*.sh|*.perl)
- symlink_target=../unprocessed-script
+ symlink_target=${GIT_VALGRIND_TOOLS}/unprocessed-script
esac
# create the link, or replace it if it is out of date
make_symlink "$symlink_target" "$GIT_VALGRIND/bin/$base" || exit
@@ -986,7 +1001,10 @@ then
IFS=$OLDIFS
PATH=$GIT_VALGRIND/bin:$PATH
GIT_EXEC_PATH=$GIT_VALGRIND/bin
+ # Make these available in valgrind.sh
+ export GIT_BUILD_DIR
export GIT_VALGRIND
+ export GIT_VALGRIND_TOOLS
elif test -n "$GIT_TEST_INSTALLED" ; then
GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) ||
error "Cannot run git from $GIT_TEST_INSTALLED."
diff --git a/t/valgrind/valgrind.sh b/t/valgrind/valgrind.sh
index 582b4dc..d638d10 100755
--- a/t/valgrind/valgrind.sh
+++ b/t/valgrind/valgrind.sh
@@ -13,10 +13,10 @@ TRACK_ORIGINS=--track-origins=yes
exec valgrind -q --error-exitcode=126 \
--leak-check=no \
- --suppressions="$GIT_VALGRIND/default.supp" \
+ --suppressions="$GIT_VALGRIND_TOOLS/default.supp" \
--gen-suppressions=all \
$TRACK_ORIGINS \
--log-fd=4 \
--input-fd=4 \
$GIT_VALGRIND_OPTIONS \
- "$GIT_VALGRIND"/../../"$base" "$@"
+ "$GIT_BUILD_DIR"/"$base" "$@"
--
1.7.9.1
next prev parent reply other threads:[~2012-03-04 23:27 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-04 23:23 [PATCH 1/2] Allow Overriding GIT_BUILD_DIR greened
2012-03-04 23:23 ` greened [this message]
2012-03-05 7:53 ` [PATCH 2/2] Support Out-Of-Tree Valgrind Tests Thomas Rast
2012-03-05 18:11 ` David A. Greene
2012-03-06 8:46 ` Thomas Rast
2012-03-06 14:40 ` David A. Greene
2012-03-06 18:49 ` Junio C Hamano
2012-03-06 22:12 ` David A. Greene
2012-03-06 22:21 ` Junio C Hamano
2012-03-06 22:37 ` Junio C Hamano
2012-03-06 23:00 ` David A. Greene
2012-03-06 23:12 ` Junio C Hamano
2012-03-06 22:54 ` David A. Greene
2012-03-06 18:43 ` Junio C Hamano
2012-03-05 6:33 ` [PATCH 1/2] Allow Overriding GIT_BUILD_DIR Junio C Hamano
2012-03-05 18:10 ` David A. Greene
2012-03-05 20:08 ` Junio C Hamano
2012-03-06 14:21 ` David A. Greene
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1330903437-31386-2-git-send-email-greened@obbligato.org \
--to=greened@obbligato.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).