summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2014-01-17 22:43:42 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2014-01-17 22:43:42 +0100
commit1290422a1074e59bf37241596d60e28afb76fb5c (patch)
tree5c19c9149927fa32268a6a6b6f72d6401b25ed17 /test
parenteb9dee9602941af8a62f619817f1956ce7363074 (diff)
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
Diffstat (limited to 'test')
-rw-r--r--test/integration/framework30
-rwxr-xr-xtest/integration/run-tests35
2 files changed, 41 insertions, 24 deletions
diff --git a/test/integration/framework b/test/integration/framework
index 15c51e6ef..3ea9f3774 100644
--- a/test/integration/framework
+++ b/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; }
diff --git a/test/integration/run-tests b/test/integration/run-tests
index 881c1c56b..79d5d1a29 100755
--- a/test/integration/run-tests
+++ b/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