Skip to content

Commit

Permalink
test-lib: use $SHELL_PATH, not $SHELL
Browse files Browse the repository at this point in the history
The codepath for handling "--tee" ends up relaunching the test
script under a shell, and that one has to be a Bourne.  But we
incorrectly used $SHELL, which could be a non-Bourne (e.g. zsh or
csh); we have the Makefile variable $SHELL_PATH for exactly that,
so use it instead.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Ramkumar Ramachandra authored and Junio C Hamano committed Sep 25, 2012
1 parent 889d358 commit 4cde519
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions t/test-lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/ .

# if --tee was passed, write the output not only to the terminal, but
# additionally to the file test-results/$BASENAME.out, too.
case "$GIT_TEST_TEE_STARTED, $* " in
done,*)
# do not redirect again
;;
*' --tee '*|*' --va'*)
mkdir -p test-results
BASE=test-results/$(basename "$0" .sh)
(GIT_TEST_TEE_STARTED=done ${SHELL-sh} "$0" "$@" 2>&1;
echo $? > $BASE.exit) | tee $BASE.out
test "$(cat $BASE.exit)" = 0
exit
;;
esac

# Keep the original TERM for say_color
ORIGINAL_TERM=$TERM

Expand All @@ -54,6 +38,22 @@ GIT_BUILD_DIR="$TEST_DIRECTORY"/..
. "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
export PERL_PATH SHELL_PATH

# if --tee was passed, write the output not only to the terminal, but
# additionally to the file test-results/$BASENAME.out, too.
case "$GIT_TEST_TEE_STARTED, $* " in
done,*)
# do not redirect again
;;
*' --tee '*|*' --va'*)
mkdir -p test-results
BASE=test-results/$(basename "$0" .sh)
(GIT_TEST_TEE_STARTED=done ${SHELL_PATH} "$0" "$@" 2>&1;
echo $? > $BASE.exit) | tee $BASE.out
test "$(cat $BASE.exit)" = 0
exit
;;
esac

# For repeatability, reset the environment to known value.
LANG=C
LC_ALL=C
Expand Down

0 comments on commit 4cde519

Please sign in to comment.