diff --git a/tests/support/test.tcl b/tests/support/test.tcl
index 724646a3..dff2d297 100644
--- a/tests/support/test.tcl
+++ b/tests/support/test.tcl
@@ -44,9 +44,14 @@ proc assert_type {type key} {
     assert_equal $type [r type $key]
 }
 
+# Test if TERM looks like to support colors
+proc color_term {} {
+    expr {[info exists ::env(TERM)] && [string match *xterm* $::env(TERM)]}
+}
+
 # This is called before starting the test
 proc announce_test {s} {
-    if {[info exists ::env(TERM)] && [string match $::env(TERM) xterm]} {
+    if {[color_term]} {
         puts -nonewline "$s\033\[0K"
         flush stdout
         set ::backward_count [string length $s]
@@ -55,7 +60,7 @@ proc announce_test {s} {
 
 # This is called after the test finished
 proc colored_dot {tags passed} {
-    if {[info exists ::env(TERM)] && [string match $::env(TERM) xterm]} {
+    if {[color_term]} {
         # Go backward and delete what announc_test function printed.
         puts -nonewline "\033\[${::backward_count}D\033\[0K\033\[J"