Просмотр исходного кода

get color/msglevel handling for tests in line

Without a PTY attached do not use color, but use the same MSGLEVEL with
or without a PTY. The level is better adjust via flags – especially as
it is likely that without a PTY you want fullblown logs instead of
the reduced display you get with -q otherwise.

Git-Dch: Ignore
David Kalnischkies лет назад: 12
Родитель
Сommit
1290422a10
2 измененных файлов с 41 добавлено и 24 удалено
  1. 18 12
      test/integration/framework
  2. 23 12
      test/integration/run-tests

+ 18 - 12
test/integration/framework

@@ -3,18 +3,24 @@
 EXIT_CODE=0
 
 # we all like colorful messages
-if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null && \
-   expr match "$(readlink -f /proc/$$/fd/2)" '/dev/pts/[0-9]\+' > /dev/null; then
-	CERROR="" # red
-	CWARNING="" # yellow
-	CMSG="" # green
-	CINFO="" # light blue
-	CDEBUG="" # blue
-	CNORMAL="" # default system console color
-	CDONE="" # green
-	CPASS="" # green
-	CFAIL="" # red
-	CCMD="" # pink
+if [ "$MSGCOLOR" != 'NO' ]; then
+	if ! expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+		export MSGCOLOR='NO'
+	fi
+fi
+
+
+if [ "$MSGCOLOR" != 'NO' ]; then
+	CERROR="\033[1;31m" # red
+	CWARNING="\033[1;33m" # yellow
+	CMSG="\033[1;32m" # green
+	CINFO="\033[1;96m" # light blue
+	CDEBUG="\033[1;94m" # blue
+	CNORMAL="\033[0;39m" # default system console color
+	CDONE="\033[1;32m" # green
+	CPASS="\033[1;32m" # green
+	CFAIL="\033[1;31m" # red
+	CCMD="\033[1;35m" # pink
 fi
 
 msgdie() { echo "${CERROR}E: $1${CNORMAL}" >&2; exit 1; }

+ 23 - 12
test/integration/run-tests

@@ -7,22 +7,33 @@ ALL=0
 
 FAILED_TESTS=""
 DIR=$(readlink -f $(dirname $0))
-if [ "$1" = "-q" ]; then
-	export MSGLEVEL=2
-elif [ "$1" = "-v" ]; then
-	export MSGLEVEL=4
-fi
+while [ -n "$1" ]; do
+	if [ "$1" = "-q" ]; then
+		export MSGLEVEL=2
+	elif [ "$1" = "-v" ]; then
+		export MSGLEVEL=4
+	elif [ "$1" = '--color=no' ]; then
+		export MSGCOLOR='NO'
+	else
+		echo >&2 "WARNING: Unknown parameter »$1« will be ignored"
+	fi
+	shift
+done
+export MSGLEVEL="${MSGLEVEL:-3}"
 
-if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+if [ "$MSGCOLOR" != 'NO' ]; then
+	if ! expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+		export MSGCOLOR='NO'
+	fi
+fi
+if [ "$MSGCOLOR" != 'NO' ]; then
 	CTEST='\033[1;32m'
 	CHIGH='\033[1;35m'
 	CRESET='\033[0m'
-elif [ -z "${MSGLEVEL}" ]; then
-	export MSGLEVEL=2
-fi
-
-if [ -z "$MSGLEVEL" ]; then
-	MSGLEVEL=5
+else
+	CTEST=''
+	CHIGH=''
+	CRESET=''
 fi
 
 for testcase in $(run-parts --list $DIR | grep '/test-'); do