Signed-off-by: Thomas Wood <thomas.w...@intel.com>
---
 lib/igt_core.c | 19 ++++++++++++++++---
 lib/igt_core.h |  3 +++
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index e3d5fb0..3861121 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -223,6 +223,7 @@ bool test_child;
 enum {
  OPT_LIST_SUBTESTS,
  OPT_RUN_SUBTEST,
+ OPT_DESCRIPTION,
  OPT_DEBUG,
  OPT_HELP = 'h'
 };
@@ -360,6 +361,12 @@ static void common_exit_handler(int sig)
        assert(sig != 0 || igt_exit_called);
 }
 
+static void print_test_description(void)
+{
+       if (&__igt_test_description)
+               printf("%s\n", __igt_test_description);
+}
+
 static void print_version(void)
 {
        struct utsname uts;
@@ -380,11 +387,12 @@ static void print_usage(const char *help_str, bool 
output_on_stderr)
 {
        FILE *f = output_on_stderr ? stderr : stdout;
 
-       fprintf(f, "Usage: %s [OPTIONS]\n"
-                  "  --list-subtests\n"
+       fprintf(f, "Usage: %s [OPTIONS]\n", command_str);
+       fprintf(f, "  --list-subtests\n"
                   "  --run-subtest <pattern>\n"
                   "  --debug\n"
-                  "  --help\n", command_str);
+                  "  --help-description\n"
+                  "  --help\n");
        if (help_str)
                fprintf(f, "%s\n", help_str);
 }
@@ -413,6 +421,7 @@ static int common_init(int argc, char **argv,
        static struct option long_options[] = {
                {"list-subtests", 0, 0, OPT_LIST_SUBTESTS},
                {"run-subtest", 1, 0, OPT_RUN_SUBTEST},
+               {"help-description", 0, 0, OPT_DESCRIPTION},
                {"debug", 0, 0, OPT_DEBUG},
                {"help", 0, 0, OPT_HELP},
                {0, 0, 0, 0}
@@ -510,6 +519,10 @@ static int common_init(int argc, char **argv,
                        if (!list_subtests)
                                run_single_subtest = strdup(optarg);
                        break;
+               case OPT_DESCRIPTION:
+                       print_test_description();
+                       ret = -1;
+                       goto out;
                case OPT_HELP:
                        print_usage(help_str, false);
                        ret = -1;
diff --git a/lib/igt_core.h b/lib/igt_core.h
index b8f6702..98b8951 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -38,6 +38,9 @@
 #include <stdarg.h>
 #include <getopt.h>
 
+extern const char* __igt_test_description __attribute__((weak));
+#define IGT_TEST_DESCRIPTION(a) const char* __igt_test_description = a;
+
 /**
  * IGT_EXIT_TIMEOUT:
  *
-- 
2.1.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to