git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Revert "test-lib.sh: do tests for color support after changing HOME"

From
RHRichard Hansen <rhansen@bbn.com>
Date
Jun 17, 2015, 19:06 UTC
Message-ID
<1434567986-23552-2-git-send-email-rhansen@bbn.com>
In-Reply-To
<1434567986-23552-1-git-send-email-rhansen@bbn.com>
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.
---
 t/test-lib.sh | 90 ++++++++++++++++++++++++++++-------------------------------
 1 file changed, 43 insertions(+), 47 deletions(-)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 39da9c2..57212ec 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -181,8 +181,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
@@ -253,6 +261,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
@@ -829,52 +871,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"
-- 
2.4.3
Previous: Richard HansenNext: Richard Hansen
Message 2 of 13 in “redo fix for test-lib.sh color support”
  1. 0/2 redo fix for test-lib.sh color supportRichard Hansen, Jun 17, 2015
  2. 1/2 Revert "test-lib.sh: do tests for color support after changing HOME"Richard Hansen, Jun 17, 2015
  3. 2/2 test-lib.sh: fix color support when tput needs ~/.terminfoRichard Hansen, Jun 17, 2015
  4. Jeff KingJun 17, 2015
  5. Richard HansenJun 17, 2015
  6. Junio C HamanoJun 17, 2015
  7. 0/2 redo fix for test-lib.sh color supportRichard Hansen, Jun 17, 2015
  8. 1/2 Revert "test-lib.sh: do tests for color support after changing HOME"Richard Hansen, Jun 17, 2015
  9. 2/2 test-lib.sh: fix color support when tput needs ~/.terminfoRichard Hansen, Jun 17, 2015
  10. Jeff KingJun 17, 2015
  11. Junio C HamanoJun 17, 2015
  12. Jeff KingJun 17, 2015
  13. Jeff KingJun 17, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.