]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Allow forcing colored system test output
authorMichał Kępień <michal@isc.org>
Wed, 21 Feb 2018 13:59:35 +0000 (14:59 +0100)
committerMichał Kępień <michal@isc.org>
Wed, 21 Feb 2018 13:59:35 +0000 (14:59 +0100)
As parallel.mk and runsequential.sh both pipe system test output through
"tee" (for the purpose of creating test.output), run.sh invoked from
these two files detects it is not writing to a terminal, which prevents
colored output from being generated.  Allow forcing colored output using
a new command line argument for runall.sh, "-c", which sets an
environment variable (SYSTEMTEST_FORCE_COLOR) causing conf.sh to
unconditionally enable colored output.

The same environment variable can also be used directly to force colored
output when using "make test" instead of runall.sh.

bin/tests/system/README
bin/tests/system/conf.sh.in
bin/tests/system/runall.sh

index ad5d1dce636b83b738638bba4fb4b14d552e66b0..2ccf040058ee911ae28eb8477640cc5aeb82a398 100644 (file)
@@ -127,7 +127,10 @@ Running All The System Tests
 ---
 To run all the system tests, enter the command:
 
-    sh runall.sh [-n] [numproc]
+    sh runall.sh [-c] [-n] [numproc]
+
+The optional flag "-c" forces colored output (by default system test output is
+not printed in color due to run.sh being piped through "tee").
 
 The optional flag "-n" has the same effect as it does for "run.sh" - it causes
 the retention of all output files from all tests.
@@ -156,6 +159,8 @@ to running make, e.g.
 
     SYSTEMTEST_NO_CLEAN=1 make [-j numproc] test
 
+while setting environment variable SYSTEMTEST_FORCE_COLOR to 1 forces system
+test output to be printed in color.
 
 
 Running Multiple System Test Suites Simultaneously
index 1d0d55fbe18ea7f95aba78e7f6e673bdf8c71fd0..6dacfd8d102895b863b7eca47bbede701825ef62 100644 (file)
@@ -156,7 +156,7 @@ NZD=@NZD_TOOLS@
 #
 # Set up color-coded test output
 #
-if test -t 1 && type tput > /dev/null 2>&1 ; then
+if [ ${SYSTEMTEST_FORCE_COLOR:-0} -eq 1 ] || test -t 1 && type tput > /dev/null 2>&1 ; then
     COLOR_END=`tput setaf 4`    # blue
     COLOR_FAIL=`tput setaf 1`   # red
     COLOR_INFO=`tput bold`      # bold
index a4a477214cda96e9995c1a97549b14de4c56e8f0..284a6a50d4a4e2667e14a0940019c94accbbbf71 100644 (file)
@@ -9,7 +9,9 @@
 # Run all the system tests.
 #
 # Usage:
-#    runall.sh [-n] [numprocesses]
+#    runall.sh [-c] [-n] [numprocesses]
+#
+#   -c          Force colored output.
 #
 #   -n          Noclean.  Keep all output files produced by all tests.  These
 #               can later be removed by running "cleanall.sh".
 SYSTEMTESTTOP=.
 . $SYSTEMTESTTOP/conf.sh
 
-usage="Usage: ./runall.sh [-n] [numprocesses]"
+usage="Usage: ./runall.sh [-c] [-n] [numprocesses]"
 
+SYSTEMTEST_FORCE_COLOR=0
 SYSTEMTEST_NO_CLEAN=0
 
-# Handle "-n" switch if present.
+# Handle command line switches if present.
 
-while getopts "n" flag; do
+while getopts "cn" flag; do
     case "$flag" in
+        c) SYSTEMTEST_FORCE_COLOR=1 ;;
         n) SYSTEMTEST_NO_CLEAN=1 ;;
     esac
 done
@@ -55,6 +59,7 @@ fi
 
 # Run the tests.
 
+export SYSTEMTEST_FORCE_COLOR
 export SYSTEMTEST_NO_CLEAN
 
 status=0