diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | support/support_test_main.c | 3 | ||||
-rw-r--r-- | support/test-driver.c | 9 | ||||
-rw-r--r-- | support/test-driver.h | 1 |
4 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 70faa63f6e..8fb6aaae0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2017-06-15 Adhemerval Zanella <adhemerval.zanella@linaro.org> + + * support/support_test_main.c (support_test_main): Use optstring + member for option string in getopt_long. + * support/test-driver.c: Add comment about CMDLINE_OPTSTRING. + (CMDLINE_OPTSTRING): New define. + * support/test-driver.h (test_config): Add optstring member. + 2017-06-15 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add diff --git a/support/support_test_main.c b/support/support_test_main.c index 914d64f603..3c411a467b 100644 --- a/support/support_test_main.c +++ b/support/support_test_main.c @@ -211,7 +211,8 @@ support_test_main (int argc, char **argv, const struct test_config *config) mallopt (M_PERTURB, 42); } - while ((opt = getopt_long (argc, argv, "+", options, NULL)) != -1) + while ((opt = getopt_long (argc, argv, config->optstring, options, NULL)) + != -1) switch (opt) { case '?': diff --git a/support/test-driver.c b/support/test-driver.c index 482066dbeb..47c387c2b4 100644 --- a/support/test-driver.c +++ b/support/test-driver.c @@ -93,6 +93,10 @@ has this type: void CMDLINE_PROCESS (int); + + If the program also to process custom default short command line + argument (similar to getopt) it must define CMDLINE_OPTSTRING + with the expected options (for instance "vb"). */ #include <support/test-driver.h> @@ -151,6 +155,11 @@ main (int argc, char **argv) #ifdef CMDLINE_PROCESS test_config.cmdline_function = CMDLINE_PROCESS; #endif +#ifdef CMDLINE_OPTSTRING + test_config.optstring = "+" CMDLINE_OPTSTRING; +#else + test_config.optstring = "+"; +#endif return support_test_main (argc, argv, &test_config); } diff --git a/support/test-driver.h b/support/test-driver.h index af1971a9ca..a8fe9c3565 100644 --- a/support/test-driver.h +++ b/support/test-driver.h @@ -35,6 +35,7 @@ struct test_config int expected_status; /* Expected exit status. */ int expected_signal; /* If non-zero, expect termination by signal. */ char no_mallopt; /* Boolean flag to disable mallopt. */ + const char *optstring; /* Short command line options. */ }; enum |