[PATCH] test: remove --root option and fix TMP_DIRECTORY cleanup
Jani Nikula
jani at nikula.org
Sat Oct 21 05:02:44 PDT 2017
On Sat, 21 Oct 2017, Jani Nikula <jani at nikula.org> wrote:
> 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.)
To clarify, plain 'make test' no longer has its CWD in the test
subdirectory either, leading to the same problem as out-of-tree runs
here.
The problem noticed by David could also be reproduced by running
'test/T310-emacs.sh; test/T310-emacs.sh' but not 'cd test;
./T310-emacs.sh; ./T310-emacs.sh'.
BR,
Jani.
>
> 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.
> ---
> test/README | 9 ---------
> test/test-lib-common.sh | 8 ++------
> test/test-lib.sh | 3 ---
> 3 files changed, 2 insertions(+), 18 deletions(-)
>
> diff --git a/test/README b/test/README
> index 8e06f44241a6..b378c3ff3c5f 100644
> --- a/test/README
> +++ b/test/README
> @@ -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
>
> diff --git a/test/test-lib-common.sh b/test/test-lib-common.sh
> index 5e53348a9438..4300eb65418f 100644
> --- a/test/test-lib-common.sh
> +++ b/test/test-lib-common.sh
> @@ -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
> diff --git a/test/test-lib.sh b/test/test-lib.sh
> index 4619c327dd02..7926d2787710 100644
> --- a/test/test-lib.sh
> +++ b/test/test-lib.sh
> @@ -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
> --
> 2.11.0
More information about the notmuch
mailing list