diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-08-04 07:26:46 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-08-05 04:40:00 -0400 |
commit | 496405af79252a2eb7a5ebdc3e29ba452869d047 (patch) | |
tree | 6c1911ac735e1d3d77acf8b0713a1a00bd960f31 /test-skeleton.c | |
parent | 182d6096fe76b3d63b1151090cd07e60eca39302 (diff) | |
download | glibc-496405af79252a2eb7a5ebdc3e29ba452869d047.zip glibc-496405af79252a2eb7a5ebdc3e29ba452869d047.tar.gz glibc-496405af79252a2eb7a5ebdc3e29ba452869d047.tar.bz2 |
test-skeleton: add usage information
I keep trying to run tests with --help and then remembering that does
nothing when it throws an error. That means I have to dig into the
source when I want to refer to flags or env vars and re-read a good
amount of code to find the nested locations.
Make this all much more user friendly with a usage screen that gets
printed out whenever an unknown option is specified.
Diffstat (limited to 'test-skeleton.c')
-rw-r--r-- | test-skeleton.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test-skeleton.c b/test-skeleton.c index 9ee5001..1b2688c 100644 --- a/test-skeleton.c +++ b/test-skeleton.c @@ -250,6 +250,41 @@ set_fortify_handler (void (*handler) (int sig)) ignore_stderr (); } +/* Show people how to run the program. */ +static void +usage (void) +{ + size_t i; + + printf ("Usage: %s [options]\n" + "\n" + "Environment Variables:\n" + " TIMEOUTFACTOR An integer used to scale the timeout\n" + " TMPDIR Where to place temporary files\n" + "\n", + program_invocation_short_name); + printf ("Options:\n"); + for (i = 0; options[i].name; ++i) + { + int indent; + + indent = printf (" --%s", options[i].name); + if (options[i].has_arg == required_argument) + indent += printf (" <arg>"); + printf ("%*s", 25 - indent, ""); + switch (options[i].val) + { + case OPT_DIRECT: + printf ("Run the test directly (instead of forking & monitoring)"); + break; + case OPT_TESTDIR: + printf ("Override the TMPDIR env var"); + break; + } + printf ("\n"); + } +} + /* We provide the entry point here. */ int main (int argc, char *argv[]) @@ -271,6 +306,7 @@ main (int argc, char *argv[]) switch (opt) { case '?': + usage (); exit (1); case OPT_DIRECT: direct = 1; |