test output: respect $TEST_OUTPUT_DIRECTORY
Most test results go in $TEST_OUTPUT_DIRECTORY, but the output files for tests run with --tee or --valgrind just use bare "test-results". Changes these so that they do respect $TEST_OUTPUT_DIRECTORY. As a result of this, the valgrind/analyze.sh script may no longer inspect the correct files so it is also updated to respect $TEST_OUTPUT_DIRECTORY by adding it to GIT-BUILD-OPTIONS. This may be a regression for people who have TEST_OUTPUT_DIRECTORY in their config.mak but want to override it in the environment, but this change merely brings it into line with GIT_TEST_OPTS which already cannot be overridden if it is specified in config.mak. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
54bb9015c8
commit
2d14e13c56
3
Makefile
3
Makefile
@ -2153,6 +2153,9 @@ GIT-BUILD-OPTIONS: FORCE
|
|||||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
|
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@
|
||||||
@echo NO_PYTHON=\''$(subst ','\'',$(subst ','\'',$(NO_PYTHON)))'\' >>$@
|
@echo NO_PYTHON=\''$(subst ','\'',$(subst ','\'',$(NO_PYTHON)))'\' >>$@
|
||||||
@echo NO_UNIX_SOCKETS=\''$(subst ','\'',$(subst ','\'',$(NO_UNIX_SOCKETS)))'\' >>$@
|
@echo NO_UNIX_SOCKETS=\''$(subst ','\'',$(subst ','\'',$(NO_UNIX_SOCKETS)))'\' >>$@
|
||||||
|
ifdef TEST_OUTPUT_DIRECTORY
|
||||||
|
@echo TEST_OUTPUT_DIRECTORY=\''$(subst ','\'',$(subst ','\'',$(TEST_OUTPUT_DIRECTORY)))'\' >>$@
|
||||||
|
endif
|
||||||
ifdef GIT_TEST_OPTS
|
ifdef GIT_TEST_OPTS
|
||||||
@echo GIT_TEST_OPTS=\''$(subst ','\'',$(subst ','\'',$(GIT_TEST_OPTS)))'\' >>$@
|
@echo GIT_TEST_OPTS=\''$(subst ','\'',$(subst ','\'',$(GIT_TEST_OPTS)))'\' >>$@
|
||||||
endif
|
endif
|
||||||
|
@ -54,8 +54,8 @@ done,*)
|
|||||||
# do not redirect again
|
# do not redirect again
|
||||||
;;
|
;;
|
||||||
*' --tee '*|*' --va'*)
|
*' --tee '*|*' --va'*)
|
||||||
mkdir -p test-results
|
mkdir -p "$TEST_OUTPUT_DIRECTORY/test-results"
|
||||||
BASE=test-results/$(basename "$0" .sh)
|
BASE="$TEST_OUTPUT_DIRECTORY/test-results/$(basename "$0" .sh)"
|
||||||
(GIT_TEST_TEE_STARTED=done ${SHELL_PATH} "$0" "$@" 2>&1;
|
(GIT_TEST_TEE_STARTED=done ${SHELL_PATH} "$0" "$@" 2>&1;
|
||||||
echo $? > $BASE.exit) | tee $BASE.out
|
echo $? > $BASE.exit) | tee $BASE.out
|
||||||
test "$(cat $BASE.exit)" = 0
|
test "$(cat $BASE.exit)" = 0
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
out_prefix=$(dirname "$0")/../test-results/valgrind.out
|
# Get TEST_OUTPUT_DIRECTORY from GIT-BUILD-OPTIONS if it's there...
|
||||||
|
. "$(dirname "$0")/../../GIT-BUILD-OPTIONS"
|
||||||
|
# ... otherwise set it to the default value.
|
||||||
|
: ${TEST_OUTPUT_DIRECTORY=$(dirname "$0")/..}
|
||||||
|
|
||||||
output=
|
output=
|
||||||
count=0
|
count=0
|
||||||
total_count=0
|
total_count=0
|
||||||
@ -115,7 +119,7 @@ handle_one () {
|
|||||||
finish_output
|
finish_output
|
||||||
}
|
}
|
||||||
|
|
||||||
for test_script in "$(dirname "$0")"/../test-results/*.out
|
for test_script in "$TEST_OUTPUT_DIRECTORY"/test-results/*.out
|
||||||
do
|
do
|
||||||
handle_one $test_script
|
handle_one $test_script
|
||||||
done
|
done
|
||||||
|
Reference in New Issue
Block a user