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

Suggested-by: Ingo Molnar <[email protected]>
Cc: David Ahern <[email protected]>
Cc: Frederic Weisbecker <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
Link: http://lkml.kernel.org/n/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
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;