Index: src/tests/pybin/tools.py
===================================================================
--- src/tests/pybin/tools.py	(revision 1134b80884fbfefdfcca5d37cbd929da7706135d)
+++ src/tests/pybin/tools.py	(revision ed45af6f6acde96306cc96f68086405acdb80877)
@@ -83,4 +83,20 @@
 	return sh(cmd)
 
+def which(program):
+    import os
+    def is_exe(fpath):
+        return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
+
+    fpath, fname = os.path.split(program)
+    if fpath:
+        if is_exe(program):
+            return program
+    else:
+        for path in os.environ["PATH"].split(os.pathsep):
+            exe_file = os.path.join(path, program)
+            if is_exe(exe_file):
+                return exe_file
+
+    return None
 ################################################################################
 #               file handling
@@ -219,4 +235,13 @@
 	return False
 
+def fancy_print(text):
+	column = which('column')
+	if column:
+		cmd = "%s 2> /dev/null" % column
+		print(cmd)
+		proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True)
+		proc.communicate(input=text)
+	else:
+		print(text)
 
 settings.set_machine_default( getMachineType )
Index: src/tests/test.py
===================================================================
--- src/tests/test.py	(revision 1134b80884fbfefdfcca5d37cbd929da7706135d)
+++ src/tests/test.py	(revision ed45af6f6acde96306cc96f68086405acdb80877)
@@ -277,5 +277,5 @@
 	elif options.list :
 		print("Listing for %s:%s"% (settings.arch.string, settings.debug.string))
-		print("\n".join(map(lambda t: "%s" % (t.toString()), tests)))
+		fancy_print("\n".join(map(lambda t: "%s" % (t.toString()), tests)))
 
 	else :
