@@ -85,6 +85,8 @@ do
valgrind=${opt#--*=} ;;
--valgrind-only=*)
valgrind_only=${opt#--*=} ;;
+ --root=*)
+ root=${opt#--*=} ;;
*)
# Other options will be handled later.
esac
@@ -93,6 +95,12 @@ done
TEST_NAME="$(basename "$0" .sh)"
TEST_RESULTS_DIR="$TEST_OUTPUT_DIRECTORY/test-results"
TEST_RESULTS_BASE="$TEST_RESULTS_DIR/$TEST_NAME"
+TRASH_DIRECTORY="trash directory.$TEST_NAME"
+test -n "$root" && TRASH_DIRECTORY="$root/$TRASH_DIRECTORY"
+case "$TRASH_DIRECTORY" in
+/*) ;; # absolute path is good
+ *) TRASH_DIRECTORY="$TEST_OUTPUT_DIRECTORY/$TRASH_DIRECTORY" ;;
+esac
# if --tee was passed, write the output not only to the terminal, but
# additionally to the file test-results/$BASENAME.out, too.
@@ -318,9 +326,6 @@ do
with_dashes=t; shift ;;
--no-color)
color=; shift ;;
- --root=*)
- root=${1#--*=}
- shift ;;
--chain-lint)
GIT_TEST_CHAIN_LINT=1
shift ;;
@@ -351,7 +356,8 @@ do
-V|--verbose-log|\
--va|--val|--valg|--valgr|--valgri|--valgrin|--valgrind|\
--valgrind=*|\
- --valgrind-only=*)
+ --valgrind-only=*|\
+ --root=*)
shift ;; # These options were handled already.
*)
echo "error: unknown test option '$1'" >&2; exit 1 ;;
@@ -1040,12 +1046,6 @@ then
fi
# Test repository
-TRASH_DIRECTORY="trash directory.$TEST_NAME"
-test -n "$root" && TRASH_DIRECTORY="$root/$TRASH_DIRECTORY"
-case "$TRASH_DIRECTORY" in
-/*) ;; # absolute path is good
- *) TRASH_DIRECTORY="$TEST_OUTPUT_DIRECTORY/$TRASH_DIRECTORY" ;;
-esac
rm -fr "$TRASH_DIRECTORY" || {
GIT_EXIT_OK=t
echo >&5 "FATAL: Cannot prepare test area"
A later patch in this series will need to know the path to the trash directory early in 'test-lib.sh', but $TRASH_DIRECTORY is set much later. Furthermore, the path to the trash directory depends on the '--root=<path>' option, which, too, is parsed too late. Move parsing '--root=...' to the early option parsing loop, and set $TRASH_DIRECTORY where the other test-specific path variables are set. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> --- t/test-lib.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)