Index: src/tests/pybin/test_run.py
===================================================================
--- src/tests/pybin/test_run.py	(revision f3b9efcc8e56c4be21e2e133209b16b5760e0cdb)
+++ src/tests/pybin/test_run.py	(revision ca54499c30d3851f774da304ea39374bc91c002d)
@@ -4,4 +4,16 @@
 
 import pybin.settings
+import datetime
+
+from string import Template
+
+class DeltaTemplate(Template):
+    delimiter = "%"
+
+def strfdelta(tdelta, fmt):
+    d["H"], rem = divmod(tdelta.seconds, 3600)
+    d["M"], d["S"] = divmod(rem, 60)
+    t = DeltaTemplate(fmt)
+    return t.substitute(**d)
 
 # Test class that defines what a test is
@@ -57,11 +69,23 @@
 
 	@classmethod
-	def toString( cls, retcode ):
+	def toString( cls, retcode, duration ):
 		if settings.generating :
-			if   retcode == TestResult.SUCCESS: 	return "Done"
-			elif retcode == TestResult.TIMEOUT: 	return "TIMEOUT"
-			else :						return "ERROR code %d" % retcode
+			if   retcode == TestResult.SUCCESS: 	text = "Done   "
+			elif retcode == TestResult.TIMEOUT: 	text = "TIMEOUT"
+			else :						text = "ERROR code %d" % retcode
 		else :
-			if   retcode == TestResult.SUCCESS: 	return "PASSED"
-			elif retcode == TestResult.TIMEOUT: 	return "TIMEOUT"
-			else :						return "FAILED with code %d" % retcode
+			if   retcode == TestResult.SUCCESS: 	text = "PASSED "
+			elif retcode == TestResult.TIMEOUT: 	text = "TIMEOUT"
+			else :						text = "FAILED with code %d" % retcode
+
+		text += "    C%s - R%s" % (cls.fmtDur(duration[0]), cls.fmtDur(duration[1]))
+		return text
+
+	@classmethod
+	def fmtDur( cls, duration ):
+		if duration :
+			hours, rem = divmod(duration, 3600)
+			minutes, rem = divmod(rem, 60)
+			seconds, millis = divmod(rem, 1)
+			return "%2d:%02d.%03d" % (minutes, seconds, millis * 1000)
+		return " n/a"
