test: remove --root option and fix TMP_DIRECTORY cleanup

The primary motivation here is to fix TMP_DIRECTORY cleanup prior to
running each test when the current working directory is not the test
subdirectory. Tests with failures would leave their TMP_DIRECTORY
directory behind for debugging, and repeated out-of-tree test runs
would have old temp directories. (This lead to e.g. T310-emacs.sh
hanging because emacs would prompt for overwriting files.)

We remove the likely anyway defunct --root test option while at it,
just to be on the safe side when doing 'rm -rf' on the TMP_DIRECTORY.
This commit is contained in:
Jani Nikula 2017-10-21 14:58:02 +03:00 committed by David Bremner
parent 409d877364
commit d455c8b74a
3 changed files with 2 additions and 18 deletions

View file

@ -80,15 +80,6 @@ The following command-line options are available when running tests:
As the names depend on the tests' file names, it is safe to As the names depend on the tests' file names, it is safe to
run the tests with this option in parallel. run the tests with this option in parallel.
--root=<dir>::
This runs the testsuites specified under a separate directory.
However, caution is advised, as not all tests are maintained
with this relocation in mind, so some tests may behave
differently.
Pointing this argument at a tmpfs filesystem can improve the
speed of the test suite for some users.
Certain tests require precomputed databases to complete. You can fetch these Certain tests require precomputed databases to complete. You can fetch these
databases with databases with

View file

@ -307,13 +307,9 @@ export PATH MANPATH
# Test repository # Test repository
test="tmp.$(basename "$0" .sh)" test="tmp.$(basename "$0" .sh)"
test -n "$root" && test="$root/$test" TMP_DIRECTORY="$TEST_DIRECTORY/$test"
case "$test" in
/*) TMP_DIRECTORY="$test" ;;
*) TMP_DIRECTORY="$TEST_DIRECTORY/$test" ;;
esac
test ! -z "$debug" || remove_tmp=$TMP_DIRECTORY test ! -z "$debug" || remove_tmp=$TMP_DIRECTORY
rm -fr "$test" || { rm -rf "$TMP_DIRECTORY" || {
GIT_EXIT_OK=t GIT_EXIT_OK=t
echo >&6 "FATAL: Cannot prepare test area" echo >&6 "FATAL: Cannot prepare test area"
exit 1 exit 1

View file

@ -160,9 +160,6 @@ do
valgrind=t; verbose=t; shift ;; valgrind=t; verbose=t; shift ;;
--tee) --tee)
shift ;; # was handled already shift ;; # was handled already
--root=*)
root=$(expr "z$1" : 'z[^=]*=\(.*\)')
shift ;;
*) *)
echo "error: unknown test option '$1'" >&2; exit 1 ;; echo "error: unknown test option '$1'" >&2; exit 1 ;;
esac esac