From 6a3f33090da49a305ca89f4d2500ef7fdca11c26 Mon Sep 17 00:00:00 2001 From: Vladislav Vinogradov Date: Mon, 9 Feb 2015 15:24:46 +0300 Subject: [PATCH] make color output in run_test script optional --- .../templates/opencv_run_all_tests_unix.sh.in | 69 +++++++++++++++---- 1 file changed, 56 insertions(+), 13 deletions(-) diff --git a/cmake/templates/opencv_run_all_tests_unix.sh.in b/cmake/templates/opencv_run_all_tests_unix.sh.in index cb045945fc..7b946af13a 100644 --- a/cmake/templates/opencv_run_all_tests_unix.sh.in +++ b/cmake/templates/opencv_run_all_tests_unix.sh.in @@ -1,11 +1,53 @@ #!/bin/bash +# Usage info + +usage() +{ +cat << EOF +usage: $0 [options] + +This script runs the OpenCV tests on linux device. + +OPTIONS: + -h Show this message + -c Color output +EOF +} + +# Parse options + +COLOR_OUTPUT=0 +while getopts “hc” OPTION +do + case $OPTION in + h) + usage + exit 0 + ;; + c) + COLOR_OUTPUT=1 + ;; + ?) + usage + exit 1 + ;; + esac +done + # Text style -TEXT_RED="$(tput setaf 1)" -TEXT_GREEN="$(tput setaf 2)" -TEXT_CYAN="$(tput setaf 6)" -TEXT_RESET="$(tput sgr0)" +if [ $COLOR_OUTPUT -eq 1 ]; then + TEXT_RED="$(tput setaf 1)" + TEXT_GREEN="$(tput setaf 2)" + TEXT_CYAN="$(tput setaf 6)" + TEXT_RESET="$(tput sgr0)" +else + TEXT_RED="" + TEXT_GREEN="" + TEXT_CYAN="" + TEXT_RESET="" +fi # Test binaries and data paths @@ -26,17 +68,18 @@ do cmd="$t --perf_min_samples=1 --perf_force_samples=1 --gtest_output=xml:\"$report\"" - seg_reg="s/^/${TEXT_CYAN}[$test_name]${TEXT_RESET} /" # append test name - seg_reg="${seg_reg};s/\[==========\]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [==========] - seg_reg="${seg_reg};s/\[----------\]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [----------] - seg_reg="${seg_reg};s/\[ RUN \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ RUN ] - seg_reg="${seg_reg};s/\[ OK \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ OK ] - seg_reg="${seg_reg};s/\[ FAILED \]/${TEXT_RED}&${TEXT_RESET}/g" # red for [ FAILED ] - seg_reg="${seg_reg};s/\[ PASSED \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ PASSED ] + seg_reg="s/^/${TEXT_CYAN}[$test_name]${TEXT_RESET} /" # append test name + if [ $COLOR_OUTPUT -eq 1 ]; then + seg_reg="${seg_reg};s/\[==========\]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [==========] + seg_reg="${seg_reg};s/\[----------\]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [----------] + seg_reg="${seg_reg};s/\[ RUN \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ RUN ] + seg_reg="${seg_reg};s/\[ OK \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ OK ] + seg_reg="${seg_reg};s/\[ FAILED \]/${TEXT_RED}&${TEXT_RESET}/g" # red for [ FAILED ] + seg_reg="${seg_reg};s/\[ PASSED \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ PASSED ] + fi echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} RUN : $cmd" - eval "$cmd" | sed -r "$seg_reg" - + $cmd | sed -r "$seg_reg" ret=${PIPESTATUS[0]} echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} RETURN_CODE : $ret"