Merge branch 'jk/test-trash'
authorJunio C Hamano <gitster@pobox.com>
Thu, 18 Apr 2013 18:49:45 +0000 (11:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 18 Apr 2013 18:49:45 +0000 (11:49 -0700)
Fix longstanding issues with the test harness when used with --root=<there>
option.

* jk/test-trash:
t/test-lib.sh: drop "$test" variable
t/test-lib.sh: fix TRASH_DIRECTORY handling

1  2 
t/test-lib.sh
diff --combined t/test-lib.sh
index debd8b475186591ec1d1ef38848fef1a213889f4,657b0bd862b7473b66b2feb378b8985e455e5ac9..ca6bdef63d2ee9389729e5118f22461c887dc5ed
        --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=*)
        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%%-*}