test-lib: Allow overriding of TEST_DIRECTORY
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 19 Aug 2010 16:08:11 +0000 (16:08 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 31 Aug 2010 19:12:01 +0000 (12:12 -0700)
Tests that test the test-lib.sh itself need to be executed in the
dynamically created trash directory, so we can't assume
$TEST_DIRECTORY is ../ for those.

As a side benefit this change also makes it easy for us to move the
t/*.sh tests into subdirectories if we ever want to do that.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh
index eb51bc23409bde1ac988d83e9eac5246fb7d76cc..4167138250f914f48fc989f814512ee0f7d4dff0 100644 (file)
@@ -710,7 +710,13 @@ test_done () {
 
 # Test the binaries we have just built.  The tests are kept in
 # t/ subdirectory and are run in 'trash directory' subdirectory.
-TEST_DIRECTORY=$(pwd)
+if test -z "$TEST_DIRECTORY"
+then
+       # We allow tests to override this, in case they want to run tests
+       # outside of t/, e.g. for running tests on the test library
+       # itself.
+       TEST_DIRECTORY=$(pwd)
+fi
 GIT_BUILD_DIR="$TEST_DIRECTORY"/..
 
 if test -n "$valgrind"