Revert "test-lib.sh: do tests for color support after changing HOME"
This reverts commit 102fc80d32094ad6598b17ab9d607516ee8edc4a. 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>
Richard Hansen committed
Jun 17, 2015 at 15:06 UTC
ca92a660bf085efd8867861b4d80d95659dd49a3
1 file changed
+43
-47
t/test-lib.sh
+43
-47
@@ -184,8 +184,16 @@ export _x05 _x40 _z40 LF u200c
184
# This test checks if command xyzzy does the right thing...
185
# '
186
# . ./test-lib.sh
187
+test "x$ORIGINAL_TERM" != "xdumb" && (
188
+ TERM=$ORIGINAL_TERM &&
189
+ export TERM &&
190
+ test -t 1 &&
191
+ tput bold >/dev/null 2>&1 &&
192
+ tput setaf 1 >/dev/null 2>&1 &&
193
+ tput sgr0 >/dev/null 2>&1
194
+ ) &&
195
+ color=t
196
188
-unset color
197
while test "$#" -ne 0
198
do
199
case "$1" in
@@ -250,6 +258,40 @@ then
258
verbose=t
259
fi
260
261
+if test -n "$color"
262
+then
263
+ say_color () {
264
+ (
265
+ TERM=$ORIGINAL_TERM
266
+ export TERM
267
+ case "$1" in
268
+ error)
269
+ tput bold; tput setaf 1;; # bold red
270
+ skip)
271
+ tput setaf 4;; # blue
272
+ warn)
273
+ tput setaf 3;; # brown/yellow
274
+ pass)
275
+ tput setaf 2;; # green
276
+ info)
277
+ tput setaf 6;; # cyan
278
+ *)
279
+ test -n "$quiet" && return;;
280
+ esac
281
+ shift
282
+ printf "%s" "$*"
283
+ tput sgr0
284
+ echo
285
+ )
286
+ }
287
+else
288
+ say_color() {
289
+ test -z "$1" && test -n "$quiet" && return
290
+ shift
291
+ printf "%s\n" "$*"
292
+ }
293
+fi
294
+
295
error () {
296
say_color error "error: $*"
297
GIT_EXIT_OK=t
@@ -815,52 +857,6 @@ HOME="$TRASH_DIRECTORY"
857
GNUPGHOME="$HOME/gnupg-home-not-used"
858
export HOME GNUPGHOME
859
818
-# run the tput tests *after* changing HOME (in case ncurses needs
819
-# ~/.terminfo for $TERM)
820
-test -n "${color+set}" || test "x$ORIGINAL_TERM" != "xdumb" && (
821
- TERM=$ORIGINAL_TERM &&
822
- export TERM &&
823
- test -t 1 &&
824
- tput bold >/dev/null 2>&1 &&
825
- tput setaf 1 >/dev/null 2>&1 &&
826
- tput sgr0 >/dev/null 2>&1
827
- ) &&
828
- color=t
829
-
830
-if test -n "$color"
831
-then
832
- say_color () {
833
- (
834
- TERM=$ORIGINAL_TERM
835
- export TERM
836
- case "$1" in
837
- error)
838
- tput bold; tput setaf 1;; # bold red
839
- skip)
840
- tput setaf 4;; # blue
841
- warn)
842
- tput setaf 3;; # brown/yellow
843
- pass)
844
- tput setaf 2;; # green
845
- info)
846
- tput setaf 6;; # cyan
847
- *)
848
- test -n "$quiet" && return;;
849
- esac
850
- shift
851
- printf "%s" "$*"
852
- tput sgr0
853
- echo
854
- )
855
- }
856
-else
857
- say_color() {
858
- test -z "$1" && test -n "$quiet" && return
859
- shift
860
- printf "%s\n" "$*"
861
- }
862
-fi
863
-
860
if test -z "$TEST_NO_CREATE_REPO"
861
then
862
test_create_repo "$TRASH_DIRECTORY"