perf test: Align the 'Ok'/'FAILED!' test results
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 24 Oct 2012 17:44:41 +0000 (15:44 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 24 Oct 2012 17:44:41 +0000 (15:44 -0200)
And also print 'FAILED!' in red.

Suggested-by: Ingo Molnar <mingo@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-rkisq85w24il3e2yl3nzumhu@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-test.c

index e2d9872de3d78144b89bdadfb0a0bf9b06e38b43..a04276e81f40d4c902e5d6875ade0dffa71606db 100644 (file)
@@ -6,6 +6,7 @@
 #include "builtin.h"
 
 #include "util/cache.h"
+#include "util/color.h"
 #include "util/debug.h"
 #include "util/debugfs.h"
 #include "util/evlist.h"
@@ -1485,18 +1486,31 @@ static bool perf_test__matches(int curr, int argc, const char *argv[])
 static int __cmd_test(int argc, const char *argv[])
 {
        int i = 0;
+       int width = 0;
 
+       while (tests[i].func) {
+               int len = strlen(tests[i].desc);
+
+               if (width < len)
+                       width = len;
+               ++i;
+       }
+               
+       i = 0;
        while (tests[i].func) {
                int curr = i++, err;
 
                if (!perf_test__matches(curr, argc, argv))
                        continue;
 
-               pr_info("%2d: %s:", i, tests[curr].desc);
+               pr_info("%2d: %-*s:", i, width, tests[curr].desc);
                pr_debug("\n--- start ---\n");
                err = tests[curr].func();
                pr_debug("---- end ----\n%s:", tests[curr].desc);
-               pr_info(" %s\n", err ? "FAILED!\n" : "Ok");
+               if (err)
+                       color_fprintf(stderr, PERF_COLOR_RED, " FAILED!\n");
+               else
+                       pr_info(" Ok\n");
        }
 
        return 0;