From: Junio C Hamano Date: Thu, 18 Apr 2013 18:49:45 +0000 (-0700) Subject: Merge branch 'jk/test-trash' X-Git-Tag: v1.8.3-rc0~51 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/ded56521bda84a1b73b198f6cf3a2ac5829446d0?ds=inline;hp=-c Merge branch 'jk/test-trash' Fix longstanding issues with the test harness when used with --root= option. * jk/test-trash: t/test-lib.sh: drop "$test" variable t/test-lib.sh: fix TRASH_DIRECTORY handling --- ded56521bda84a1b73b198f6cf3a2ac5829446d0 diff --combined t/test-lib.sh index debd8b4751,657b0bd862..ca6bdef63d --- a/t/test-lib.sh +++ b/t/test-lib.sh @@@ -193,11 -193,7 +193,11 @@@ d --no-color) color=; shift ;; --va|--val|--valg|--valgr|--valgri|--valgrin|--valgrind) - valgrind=t; verbose=t; shift ;; + valgrind=memcheck + shift ;; + --valgrind=*) + valgrind=$(expr "z$1" : 'z[^=]*=\(.*\)') + shift ;; --tee) shift ;; # was handled already --root=*) @@@ -208,8 -204,6 +208,8 @@@ esac done +test -n "$valgrind" && verbose=t + if test -n "$color" then say_color () { @@@ -536,8 -530,6 +536,8 @@@ the PATH=$GIT_VALGRIND/bin:$PATH GIT_EXEC_PATH=$GIT_VALGRIND/bin export GIT_VALGRIND + GIT_VALGRIND_MODE="$valgrind" + export GIT_VALGRIND_MODE elif test -n "$GIT_TEST_INSTALLED" then GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) || @@@ -600,14 -592,14 +600,14 @@@ the fi # Test repository - test="trash directory.$(basename "$0" .sh)" - test -n "$root" && test="$root/$test" - case "$test" in - /*) TRASH_DIRECTORY="$test" ;; - *) TRASH_DIRECTORY="$TEST_OUTPUT_DIRECTORY/$test" ;; + TRASH_DIRECTORY="trash directory.$(basename "$0" .sh)" + test -n "$root" && TRASH_DIRECTORY="$root/$TRASH_DIRECTORY" + case "$TRASH_DIRECTORY" in + /*) ;; # absolute path is good + *) TRASH_DIRECTORY="$TEST_OUTPUT_DIRECTORY/$TRASH_DIRECTORY" ;; esac test ! -z "$debug" || remove_trash=$TRASH_DIRECTORY - rm -fr "$test" || { + rm -fr "$TRASH_DIRECTORY" || { GIT_EXIT_OK=t echo >&5 "FATAL: Cannot prepare test area" exit 1 @@@ -618,13 -610,13 +618,13 @@@ export HOM if test -z "$TEST_NO_CREATE_REPO" then - test_create_repo "$test" + test_create_repo "$TRASH_DIRECTORY" else - mkdir -p "$test" + mkdir -p "$TRASH_DIRECTORY" fi # Use -P to resolve symlinks in our working directory so that the cwd # in subprocesses like git equals our $PWD (for pathname comparisons). - cd -P "$test" || exit 1 + cd -P "$TRASH_DIRECTORY" || exit 1 this_test=${0##*/} this_test=${this_test%%-*}