test: add --verbose flag to litests
authorPeter Hutterer <peter.hutterer@who-t.net>
Fri, 6 Jun 2014 05:55:15 +0000 (15:55 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 10 Jun 2014 10:55:04 +0000 (20:55 +1000)
Sometimes it's handy to see what libinput prints out while running a test.
This breaks test-log if run with --verbose. Checking that the default log
priority hasn't changed obviously doesn't work if we change it on demand.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
test/litest.c

index d287215b6b252f667094f84b56c187062170895a..1f1bf7bc0fd2f82bab9664be287b736bacfe3d7f 100644 (file)
@@ -247,8 +247,27 @@ litest_list_tests(struct list *tests)
        }
 }
 
+static void
+litest_log_handler(enum libinput_log_priority pri,
+                  void *user_data,
+                  const char *format,
+                  va_list args)
+{
+       const char *priority = NULL;
+
+       switch(pri) {
+       case LIBINPUT_LOG_PRIORITY_INFO: priority = "info"; break;
+       case LIBINPUT_LOG_PRIORITY_ERROR: priority = "error"; break;
+       case LIBINPUT_LOG_PRIORITY_DEBUG: priority = "debug"; break;
+       }
+
+       fprintf(stderr, "litest %s: ", priority);
+       vfprintf(stderr, format, args);
+}
+
 static const struct option opts[] = {
        { "list", 0, 0, 'l' },
+       { "verbose", 0, 0, 'v' },
        { 0, 0, 0, 0}
 };
 
@@ -282,6 +301,10 @@ litest_run(int argc, char **argv) {
                        case 'l':
                                litest_list_tests(&all_tests);
                                return 0;
+                       case 'v':
+                               libinput_log_set_priority(LIBINPUT_LOG_PRIORITY_DEBUG);
+                               libinput_log_set_handler(litest_log_handler, NULL);
+                               break;
                        default:
                                fprintf(stderr, "usage: %s [--list]\n", argv[0]);
                                return 1;