On Sat, 21 Oct 2017, Jani Nikula <jani@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 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch