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
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
databases with

View file

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

View file

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