[igt-dev] [PATCH 1/4] lib/igt_core: reserve long options for individual tests

Lucas De Marchi lucas.demarchi at intel.com
Wed Jun 5 17:44:47 UTC 2019


Start the core options from 500 so the individual tests can have their
own options starting from 0. This makes it easier to set the long
options without conflicting.

500 is just a magic number, higher than any ascii char that could be
used in the individual test.

While at it, fix the coding style to use tab rather than space.

v2: also fix the test for conflicting args

Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
---
 lib/igt_core.c                   | 16 ++++++++++------
 lib/tests/igt_conflicting_args.c |  2 +-
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 9c86d664..814f5c72 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -280,12 +280,16 @@ int test_children_sz;
 bool test_child;
 
 enum {
- OPT_LIST_SUBTESTS,
- OPT_RUN_SUBTEST,
- OPT_DESCRIPTION,
- OPT_DEBUG,
- OPT_INTERACTIVE_DEBUG,
- OPT_HELP = 'h'
+	/*
+	 * Let the first values be used by individual tests so options don't
+	 * conflict with core ones
+	 */
+	OPT_LIST_SUBTESTS = 500,
+	OPT_RUN_SUBTEST,
+	OPT_DESCRIPTION,
+	OPT_DEBUG,
+	OPT_INTERACTIVE_DEBUG,
+	OPT_HELP = 'h'
 };
 
 static int igt_exitcode = IGT_EXIT_SUCCESS;
diff --git a/lib/tests/igt_conflicting_args.c b/lib/tests/igt_conflicting_args.c
index c357b6c5..f600abd4 100644
--- a/lib/tests/igt_conflicting_args.c
+++ b/lib/tests/igt_conflicting_args.c
@@ -91,7 +91,7 @@ int main(int argc, char **argv)
 	internal_assert_wsignaled(do_fork(), SIGABRT);
 
 	/* conflict on long option 'val' representations */
-	long_options[0] = (struct option) { "iterations", required_argument, NULL, 0};
+	long_options[0] = (struct option) { "iterations", required_argument, NULL, 500};
 	short_options = "";
 	internal_assert_wsignaled(do_fork(), SIGABRT);
 
-- 
2.21.0



More information about the igt-dev mailing list