From 3744824c3ef559c6c69cbc264f93b3e9891c263b Mon Sep 17 00:00:00 2001 From: antirez Date: Mon, 11 Jul 2011 00:09:56 +0200 Subject: [PATCH] some test colorization and some fix --- tests/support/test.tcl | 48 ++++++++++-------------------------------- tests/test_helper.tcl | 11 ++++++++-- 2 files changed, 20 insertions(+), 39 deletions(-) diff --git a/tests/support/test.tcl b/tests/support/test.tcl index 4819d8a30..55236b9a2 100644 --- a/tests/support/test.tcl +++ b/tests/support/test.tcl @@ -49,48 +49,22 @@ proc color_term {} { expr {[info exists ::env(TERM)] && [string match *xterm* $::env(TERM)]} } -# This is called after the test finished -proc colored_dot {tags passed} { +proc colorstr {color str} { if {[color_term]} { - # Go backward and delete what announc_test function printed. - puts -nonewline "\033\[${::backward_count}D\033\[0K\033\[J" - - # Print a coloured char, accordingly to test outcome and tags. - if {[lsearch $tags list] != -1} { - set colorcode {31} - set ch L - } elseif {[lsearch $tags hash] != -1} { - set colorcode {32} - set ch H - } elseif {[lsearch $tags set] != -1} { - set colorcode {33} - set ch S - } elseif {[lsearch $tags zset] != -1} { - set colorcode {34} - set ch Z - } elseif {[lsearch $tags basic] != -1} { - set colorcode {35} - set ch B - } else { - set colorcode {37} - set ch . + switch $color { + red {set colorcode {31}} + green {set colorcode {32}} + yellow {set colorcode {33}} + blue {set colorcode {34}} + magenta {set colorcode {35}} + cyan {set colorcode {36}} + else {set colorcode {37}} } if {$colorcode ne {}} { - if {$passed} { - puts -nonewline "\033\[0;${colorcode};40m" - } else { - puts -nonewline "\033\[7;${colorcode};40m" - } - puts -nonewline $ch - puts -nonewline "\033\[0m" - flush stdout + return "\033\[0;${colorcode};40m$str\033\[0m" } } else { - if {$passed} { - puts -nonewline . - } else { - puts -nonewline F - } + return $str } } diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index 4daf36866..5be795644 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -209,14 +209,21 @@ proc read_from_test_client fd { set bytes [gets $fd] set payload [read $fd $bytes] foreach {status data} $payload break - puts "($fd) \[$status\]: $data" if {$status eq {ready}} { + puts "($fd) \[$status\]: $data" signal_idle_client $fd } elseif {$status eq {done}} { set elapsed [expr {[clock seconds]-$::clients_start_time($fd)}] - puts "+++ [llength $::active_clients] units still in execution ($elapsed seconds)." + puts "($fd) \[[colorstr yellow $status]\]: $data ($elapsed seconds)" + puts "+++ [llength $::active_clients] units still in execution." lappend ::clients_time_history $elapsed $data signal_idle_client $fd + } elseif {$status eq {ok}} { + puts "($fd) \[[colorstr green $status]\]: $data" + } elseif {$status eq {err}} { + puts "($fd) \[[colorstr red $status]\]: $data" + } else { + puts "($fd) \[$status\]: $data" } } -- GitLab