diff options
author | John Keeping <john@keeping.me.uk> | 2013-04-08 20:12:38 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-01-12 19:33:03 +0100 |
commit | 1b1974c45e5e23e5527aa43c4d9ece423a13dfdc (patch) | |
tree | 863ba37c8c25b917e1823ec10db6600a9b41e129 /tests/setup.sh | |
parent | cache: don't leave cache_slot fields uninitialized (diff) | |
download | cgit-pink-1b1974c45e5e23e5527aa43c4d9ece423a13dfdc.tar.gz cgit-pink-1b1974c45e5e23e5527aa43c4d9ece423a13dfdc.zip |
tests: add Valgrind support
Now running tests with the "--valgrind" option will run cgit under Valgrind instead of all Git commands. Signed-off-by: John Keeping <john@keeping.me.uk>
Diffstat (limited to '')
-rwxr-xr-x | tests/setup.sh | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/tests/setup.sh b/tests/setup.sh index 1d8677a..5476ced 100755 --- a/tests/setup.sh +++ b/tests/setup.sh @@ -15,13 +15,48 @@ # run_test 'repo index' 'cgit_url "/" | tidy -e' # run_test 'repo summary' 'cgit_url "/foo" | tidy -e' +# We don't want to run Git commands through Valgrind, so we filter out the +# --valgrind option here and handle it ourselves. We copy the arguments +# assuming that none contain a newline, although other whitespace is +# preserved. +LF=' +' +test_argv= + +while test $# != 0 +do + case "$1" in + --va|--val|--valg|--valgr|--valgri|--valgrin|--valgrind) + cgit_valgrind=t + test_argv="$test_argv${LF}--verbose" + ;; + *) + test_argv="$test_argv$LF$1" + ;; + esac + shift +done + +OLDIFS=$IFS +IFS=$LF +set -- $test_argv +IFS=$OLDIFS + : ${TEST_DIRECTORY=$(pwd)/../git/t} : ${TEST_OUTPUT_DIRECTORY=$(pwd)} TEST_NO_CREATE_REPO=YesPlease . "$TEST_DIRECTORY"/test-lib.sh # Prepend the directory containing cgit to PATH. -PATH="$(pwd)/../..:$PATH" +if test -n "$cgit_valgrind" +then + GIT_VALGRIND="$TEST_DIRECTORY/valgrind" + CGIT_VALGRIND=$(cd ../valgrind && pwd) + PATH="$CGIT_VALGRIND/bin:$PATH" + export GIT_VALGRIND CGIT_VALGRIND +else + PATH="$(pwd)/../..:$PATH" +fi mkrepo() { name=$1 |