On Wed, Apr 10, 2019 at 10:05:00AM -0500, Daniel Díaz wrote: > Instead of colorizing the output of PASS/SKIP/FAIL all the > time, do it only when stdout is plugged to a terminal, which > is generally a good indication that colors will be helpful. > > When stdout is instead redirected, say, to a file, it's not > easy to parse the results of the tests. When analyzing and > extracting information out of the logs, it would be better to > strip the color information and just keep the test results. > > Signed-off-by: Daniel Díaz <daniel.diaz@xxxxxxxxxx> > --- > scripts/runtime.bash | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/scripts/runtime.bash b/scripts/runtime.bash > index 200d5b6..d4de6b1 100644 > --- a/scripts/runtime.bash > +++ b/scripts/runtime.bash > @@ -2,9 +2,21 @@ > : ${MAX_SMP:=$(getconf _NPROCESSORS_CONF)} > : ${TIMEOUT:=90s} > > -PASS() { echo -ne "\e[32mPASS\e[0m"; } > -SKIP() { echo -ne "\e[33mSKIP\e[0m"; } > -FAIL() { echo -ne "\e[31mFAIL\e[0m"; } > +# Define text colors > +color_reset= > +color_red= > +color_green= > +color_yellow= > +# If stdout is plugged to terminal, use colors > +if [ -t 1 ]; then > + color_reset="\e[0m" > + color_red="\e[31m" > + color_green="\e[32m" > + color_yellow="\e[33m" > +fi > +PASS() { echo -ne "${color_green}PASS${color_reset}"; } > +SKIP() { echo -ne "${color_yellow}SKIP${color_reset}"; } > +FAIL() { echo -ne "${color_red}FAIL${color_reset}"; } > > extract_summary() > { > -- > 2.17.1 > Reviewed-by: Andrew Jones <drjones@xxxxxxxxxx>