Module: xenomai-3 Branch: next Commit: 1af2245c347942b444940676996a76b7ef4572b5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=1af2245c347942b444940676996a76b7ef4572b5
Author: Philippe Gerum <r...@xenomai.org> Date: Wed May 13 14:11:04 2015 +0200 boilerplate/setup: sanitize verbosity option handling --- doc/asciidoc/man1/autotune.adoc | 6 ++--- include/boilerplate/setup.h | 2 +- include/boilerplate/tunables.h | 8 +++---- include/smokey/smokey.h | 2 +- lib/boilerplate/setup.c | 46 ++++++++++++++++++++------------------- lib/smokey/helpers.c | 2 +- lib/smokey/init.c | 14 ++++++------ testsuite/smokey/main.c | 2 +- utils/autotune/autotune.c | 16 ++++++++------ 9 files changed, 51 insertions(+), 47 deletions(-) diff --git a/doc/asciidoc/man1/autotune.adoc b/doc/asciidoc/man1/autotune.adoc index a8e0df3..3462e6b 100644 --- a/doc/asciidoc/man1/autotune.adoc +++ b/doc/asciidoc/man1/autotune.adoc @@ -104,9 +104,9 @@ to eliminate irregular delays which tend to appear on fully idle systems. Therefore, keeping the load generation enabled most often leads to a more accurate estimation. -*--quiet[=level]*:: -Tame down verbosity of the auto-tuner. --quiet[=1] means fully quiet, -any of --quiet=2, --quiet=semi or --quiet=almost means almost quiet. +*--verbose[=level]*:: +Set verbosity to the desired level, 1 means almost quiet (default), 2 +means fully verbose. *--help*:: Display a short help. diff --git a/include/boilerplate/setup.h b/include/boilerplate/setup.h index 5b9a77f..70b758d 100644 --- a/include/boilerplate/setup.h +++ b/include/boilerplate/setup.h @@ -27,7 +27,7 @@ struct base_setup_data { cpu_set_t cpu_affinity; int no_mlock; int no_sanity; - int quiet_mode; + int verbosity_level; const char *arg0; }; diff --git a/include/boilerplate/tunables.h b/include/boilerplate/tunables.h index 796a19c..628b312 100644 --- a/include/boilerplate/tunables.h +++ b/include/boilerplate/tunables.h @@ -99,14 +99,14 @@ static inline read_config_tunable(no_sanity, int) return __base_setup_data.no_sanity; } -static inline define_runtime_tunable(quiet_mode, int, mode) +static inline define_runtime_tunable(verbosity_level, int, mode) { - __base_setup_data.quiet_mode = mode; + __base_setup_data.verbosity_level = mode; } -static inline read_runtime_tunable(quiet_mode, int) +static inline read_runtime_tunable(verbosity_level, int) { - return __base_setup_data.quiet_mode; + return __base_setup_data.verbosity_level; } #ifdef __cplusplus diff --git a/include/smokey/smokey.h b/include/smokey/smokey.h index 55c67aa..41f5e6e 100644 --- a/include/smokey/smokey.h +++ b/include/smokey/smokey.h @@ -125,6 +125,6 @@ extern struct pvlist smokey_test_list; extern int smokey_keep_going; -extern int smokey_quiet_mode; +extern int smokey_verbose_mode; #endif /* _XENOMAI_SMOKEY_SMOKEY_H */ diff --git a/lib/boilerplate/setup.c b/lib/boilerplate/setup.c index 6a458a1..2ccb4f4 100644 --- a/lib/boilerplate/setup.c +++ b/lib/boilerplate/setup.c @@ -35,7 +35,7 @@ struct base_setup_data __base_setup_data = { .no_sanity = !CONFIG_XENO_SANITY, - .quiet_mode = 0, + .verbosity_level = 1, .arg0 = NULL, .no_mlock = 0, }; @@ -59,37 +59,43 @@ static const struct option base_options[] = { .has_arg = 1, }, { -#define quiet_opt 2 - .name = "quiet", +#define verbose_opt 2 + .name = "verbose", .has_arg = 2, }, { #define silent_opt 3 .name = "silent", - .flag = &__base_setup_data.quiet_mode, - .val = 2, + .flag = &__base_setup_data.verbosity_level, + .val = 0, + }, + { +#define quiet_opt 4 + .name = "quiet", + .flag = &__base_setup_data.verbosity_level, + .val = 0, }, { -#define version_opt 4 +#define version_opt 5 .name = "version", }, { -#define dumpconfig_opt 5 +#define dumpconfig_opt 6 .name = "dump-config", }, { -#define no_sanity_opt 6 +#define no_sanity_opt 7 .name = "no-sanity", .flag = &__base_setup_data.no_sanity, .val = 1 }, { -#define sanity_opt 7 +#define sanity_opt 8 .name = "sanity", .flag = &__base_setup_data.no_sanity, }, { -#define no_mlock_opt 8 +#define no_mlock_opt 9 #ifdef CONFIG_XENO_MERCURY .name = "no-mlock", .flag = &__base_setup_data.no_mlock, @@ -297,8 +303,8 @@ void xenomai_usage(void) fprintf(stderr, "--cpu-affinity=<cpu[,cpu]...> set CPU affinity of threads\n"); fprintf(stderr, "--[no-]sanity disable/enable sanity checks\n"); - fprintf(stderr, "--quiet[=level] tame down verbosity to desired level\n"); - fprintf(stderr, "--silent same as --quiet\n"); + fprintf(stderr, "--verbose[=level] set verbosity to desired level\n"); + fprintf(stderr, "--silent, --quiet same as --verbose=0\n"); fprintf(stderr, "--version get version information\n"); fprintf(stderr, "--dump-config dump configuration settings\n"); #ifdef CONFIG_XENO_MERCURY @@ -351,17 +357,13 @@ static int parse_base_options(int *argcp, char *const **argvp, if (ret) return ret; break; - case quiet_opt: - __base_setup_data.quiet_mode = 2; - if (optarg) { - if (strcmp(optarg, "semi") == 0 || - strcmp(optarg, "almost") == 0) - __base_setup_data.quiet_mode = 1; - else - __base_setup_data.quiet_mode = atoi(optarg); - } + case verbose_opt: + __base_setup_data.verbosity_level = 1; + if (optarg) + __base_setup_data.verbosity_level = atoi(optarg); break; case silent_opt: + case quiet_opt: case no_mlock_opt: case no_sanity_opt: case sanity_opt: @@ -554,7 +556,7 @@ void xenomai_init(int *argcp, char *const **argvp) free(options); #ifdef CONFIG_XENO_DEBUG - if (__base_setup_data.quiet_mode == 0) { + if (__base_setup_data.verbosity_level > 0) { early_warning("Xenomai compiled with %s debug enabled,\n" " " "%shigh latencies expected [--enable-debug=%s]", diff --git a/lib/smokey/helpers.c b/lib/smokey/helpers.c index 49e2177..21b0084 100644 --- a/lib/smokey/helpers.c +++ b/lib/smokey/helpers.c @@ -124,7 +124,7 @@ void smokey_note(const char *fmt, ...) va_start(ap, fmt); - if (!smokey_quiet_mode) + if (smokey_verbose_mode) __RT(vfprintf(stdout, fmt, ap)); va_end(ap); diff --git a/lib/smokey/init.c b/lib/smokey/init.c index 136f5c8..c6dfa79 100644 --- a/lib/smokey/init.c +++ b/lib/smokey/init.c @@ -184,9 +184,9 @@ * failure code from a smoke test should not abort the test loop. * This flag is not otherwise interpreted by the Smokey API. * - * - --quiet sets the boolean flag @a smokey_quiet_mode to a non-zero - * value, which is should be interpreted by all parties as an - * indication to tame down verbosity. + * - --verbose[=level] sets the integer @a smokey_verbose_mode to a + * non-zero value, which should be interpreted by all parties as the + * desired verbosity level (defaults to 1). * * @par Writing a test driver based on the Smokey API * @@ -203,7 +203,7 @@ * * The printf-like @a smokey_note() routine is available for issuing * progress messages to the output device (currently stdout), unless - * --quiet was detected on the command line. + * --silent was detected on the command line. * * Therefore, a possible implementation of a test driver could be as * basic as: @@ -246,7 +246,7 @@ static int test_count; static int do_list; -int smokey_quiet_mode = 0; +int smokey_verbose_mode = 1; static const struct option smokey_options[] = { { @@ -449,9 +449,9 @@ static int smokey_parse_option(int optnum, const char *optarg) static int smokey_init(void) { if (pvlist_empty(&smokey_test_list)) - set_runtime_tunable(quiet_mode, 1); + set_runtime_tunable(verbosity_level, 0); else - smokey_quiet_mode = get_runtime_tunable(quiet_mode); + smokey_verbose_mode = get_runtime_tunable(verbosity_level); return 0; } diff --git a/testsuite/smokey/main.c b/testsuite/smokey/main.c index 37af8b5..ea87390 100644 --- a/testsuite/smokey/main.c +++ b/testsuite/smokey/main.c @@ -38,7 +38,7 @@ int main(int argc, char *const argv[]) fails++; if (smokey_keep_going) continue; - if (!smokey_quiet_mode) + if (smokey_verbose_mode) error(1, -ret, "test %s failed", t->name); } smokey_note("%s OK\n", t->name); diff --git a/utils/autotune/autotune.c b/utils/autotune/autotune.c index 140355a..57a34f8 100644 --- a/utils/autotune/autotune.c +++ b/utils/autotune/autotune.c @@ -33,8 +33,10 @@ static int tune_irqlat, tune_kernlat, tune_userlat; static int reset, noload, background; -/* --quiet[=2] means fully quiet, quiet=1 means almost quiet */ -#define quiet_mode (__base_setup_data.quiet_mode) +/* + * --verbosity_level=0 means fully quiet, =1 means almost quiet. + */ +#define verbose (__base_setup_data.verbosity_level) static const struct option base_options[] = { { @@ -209,12 +211,12 @@ static void run_tuner(int fd, unsigned int op, int period, const char *type) int ret; setup.period = period; - setup.quiet = quiet_mode; + setup.quiet = verbose > 2 ? 0 : 2 - verbose; ret = ioctl(fd, op, &setup); if (ret) error(1, errno, "setup failed (%s)", type); - if (!quiet_mode) { + if (verbose) { printf("%s gravity... ", type); fflush(stdout); } @@ -229,7 +231,7 @@ static void run_tuner(int fd, unsigned int op, int period, const char *type) if (op == AUTOTUNE_RTIOC_USER) pthread_cancel(sampler); - if (!quiet_mode) + if (verbose) printf("%u ns\n", gravity); } @@ -295,7 +297,7 @@ int main(int argc, char *const argv[]) if (tune_irqlat || tune_kernlat || tune_userlat) { if (!noload) create_load(&load_pth); - if (!quiet_mode) + if (verbose) printf("== auto-tuning started, period=%d ns (may take a while)\n", period); } else @@ -312,7 +314,7 @@ int main(int argc, char *const argv[]) if (tune_userlat) run_tuner(fd, AUTOTUNE_RTIOC_USER, period, "user"); - if (!quiet_mode && (tune_userlat || tune_kernlat || tune_userlat)) + if (verbose && (tune_userlat || tune_kernlat || tune_userlat)) printf("== auto-tuning completed after %ds\n", (int)(time(NULL) - start)); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git