Many test scripts assumed that they will start in a 'trash' subdirectory
that is a single level down from the t/ directory, and referred to their
test vector files by asking for files like "../t9999/expect". This will
break if we move the 'trash' subdirectory elsewhere.
To solve this, we earlier introduced "$TEST_DIRECTORY" so that they can
refer to t/ directory reliably. This finally makes all the tests use
it to refer to the outside environment.
With this patch, and a one-liner not included here (because it would
contradict with what Dscho really wants to do):
| diff --git a/t/test-lib.sh b/t/test-lib.sh
| index 70ea7e0..60e69e4 100644
| --- a/t/test-lib.sh
| +++ b/t/test-lib.sh
| @@ -485,7 +485,7 @@ fi
| . ../GIT-BUILD-OPTIONS
|
| # Test repository
| -test="trash directory"
| +test="trash directory/another level/yet another"
| rm -fr "$test" || {
| trap - exit
| echo >&5 "FATAL: Cannot prepare test area"
all the tests still pass, but we would want extra sets of eyeballs on this
type of change to really make sure.
[jc: with help from Stephan Beyer on http-push tests I do not run myself;
credits for locating silly quoting errors go to Olivier Marin.]
Signed-off-by: Junio C Hamano <gitster@pobox.com>
64 lines
1.5 KiB
Bash
Executable File
64 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2006 Shawn Pearce
|
|
#
|
|
|
|
test_description='git-reset should cull empty subdirs'
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success \
|
|
'creating initial files' \
|
|
'mkdir path0 &&
|
|
cp "$TEST_DIRECTORY"/../COPYING path0/COPYING &&
|
|
git add path0/COPYING &&
|
|
git-commit -m add -a'
|
|
|
|
test_expect_success \
|
|
'creating second files' \
|
|
'mkdir path1 &&
|
|
mkdir path1/path2 &&
|
|
cp "$TEST_DIRECTORY"/../COPYING path1/path2/COPYING &&
|
|
cp "$TEST_DIRECTORY"/../COPYING path1/COPYING &&
|
|
cp "$TEST_DIRECTORY"/../COPYING COPYING &&
|
|
cp "$TEST_DIRECTORY"/../COPYING path0/COPYING-TOO &&
|
|
git add path1/path2/COPYING &&
|
|
git add path1/COPYING &&
|
|
git add COPYING &&
|
|
git add path0/COPYING-TOO &&
|
|
git-commit -m change -a'
|
|
|
|
test_expect_success \
|
|
'resetting tree HEAD^' \
|
|
'git-reset --hard HEAD^'
|
|
|
|
test_expect_success \
|
|
'checking initial files exist after rewind' \
|
|
'test -d path0 &&
|
|
test -f path0/COPYING'
|
|
|
|
test_expect_success \
|
|
'checking lack of path1/path2/COPYING' \
|
|
'! test -f path1/path2/COPYING'
|
|
|
|
test_expect_success \
|
|
'checking lack of path1/COPYING' \
|
|
'! test -f path1/COPYING'
|
|
|
|
test_expect_success \
|
|
'checking lack of COPYING' \
|
|
'! test -f COPYING'
|
|
|
|
test_expect_success \
|
|
'checking checking lack of path1/COPYING-TOO' \
|
|
'! test -f path0/COPYING-TOO'
|
|
|
|
test_expect_success \
|
|
'checking lack of path1/path2' \
|
|
'! test -d path1/path2'
|
|
|
|
test_expect_success \
|
|
'checking lack of path1' \
|
|
'! test -d path1'
|
|
|
|
test_done
|