diff options
author | David Kalnischkies <david@kalnischkies.de> | 2014-01-17 22:43:42 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2014-01-17 22:43:42 +0100 |
commit | 1290422a1074e59bf37241596d60e28afb76fb5c (patch) | |
tree | 5c19c9149927fa32268a6a6b6f72d6401b25ed17 | |
parent | eb9dee9602941af8a62f619817f1956ce7363074 (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
-rw-r--r-- | test/integration/framework | 30 | ||||
-rwxr-xr-x | test/integration/run-tests | 35 |
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="[1;31m" # red - CWARNING="[1;33m" # yellow - CMSG="[1;32m" # green - CINFO="[1;96m" # light blue - CDEBUG="[1;94m" # blue - CNORMAL="[0;39m" # default system console color - CDONE="[1;32m" # green - CPASS="[1;32m" # green - CFAIL="[1;31m" # red - CCMD="[1;35m" # 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 |