Revert "test-lib.sh: do tests for color support after changing HOME"

This reverts commit 102fc80d32.

There are two issues with that commit:

  * It is buggy.  In pseudocode, it is doing:

       color is set || TERM != dumb && color works && color=t

    when it should be doing:

       color is set || { TERM != dumb && color works && color=t }

  * It unnecessarily disables color when tput needs to read
    ~/.terminfo to get the control sequences.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Richard Hansen 2015-06-17 15:06:25 -04:00 коммит произвёл Junio C Hamano
Родитель 102fc80d32
Коммит ca92a660bf
1 изменённых файлов: 43 добавлений и 47 удалений

Просмотреть файл

@ -184,8 +184,16 @@ export _x05 _x40 _z40 LF u200c
# This test checks if command xyzzy does the right thing...
# '
# . ./test-lib.sh
test "x$ORIGINAL_TERM" != "xdumb" && (
TERM=$ORIGINAL_TERM &&
export TERM &&
test -t 1 &&
tput bold >/dev/null 2>&1 &&
tput setaf 1 >/dev/null 2>&1 &&
tput sgr0 >/dev/null 2>&1
) &&
color=t
unset color
while test "$#" -ne 0
do
case "$1" in
@ -250,6 +258,40 @@ then
verbose=t
fi
if test -n "$color"
then
say_color () {
(
TERM=$ORIGINAL_TERM
export TERM
case "$1" in
error)
tput bold; tput setaf 1;; # bold red
skip)
tput setaf 4;; # blue
warn)
tput setaf 3;; # brown/yellow
pass)
tput setaf 2;; # green
info)
tput setaf 6;; # cyan
*)
test -n "$quiet" && return;;
esac
shift
printf "%s" "$*"
tput sgr0
echo
)
}
else
say_color() {
test -z "$1" && test -n "$quiet" && return
shift
printf "%s\n" "$*"
}
fi
error () {
say_color error "error: $*"
GIT_EXIT_OK=t
@ -815,52 +857,6 @@ HOME="$TRASH_DIRECTORY"
GNUPGHOME="$HOME/gnupg-home-not-used"
export HOME GNUPGHOME
# run the tput tests *after* changing HOME (in case ncurses needs
# ~/.terminfo for $TERM)
test -n "${color+set}" || test "x$ORIGINAL_TERM" != "xdumb" && (
TERM=$ORIGINAL_TERM &&
export TERM &&
test -t 1 &&
tput bold >/dev/null 2>&1 &&
tput setaf 1 >/dev/null 2>&1 &&
tput sgr0 >/dev/null 2>&1
) &&
color=t
if test -n "$color"
then
say_color () {
(
TERM=$ORIGINAL_TERM
export TERM
case "$1" in
error)
tput bold; tput setaf 1;; # bold red
skip)
tput setaf 4;; # blue
warn)
tput setaf 3;; # brown/yellow
pass)
tput setaf 2;; # green
info)
tput setaf 6;; # cyan
*)
test -n "$quiet" && return;;
esac
shift
printf "%s" "$*"
tput sgr0
echo
)
}
else
say_color() {
test -z "$1" && test -n "$quiet" && return
shift
printf "%s\n" "$*"
}
fi
if test -z "$TEST_NO_CREATE_REPO"
then
test_create_repo "$TRASH_DIRECTORY"