int verbose = 0;
static struct tlist_ccanlint tests = TLIST_INIT(tests);
bool safe_mode = false;
+static bool targeting = false;
static struct btree *cmdline_exclude;
static struct btree *info_exclude;
static unsigned int timeout;
memcpy(&test->options[num], options, (num_options + 1)*sizeof(char *));
}
-static void add_info_options(struct ccan_file *info, bool mark_fails)
+void add_info_options(struct ccan_file *info)
{
struct doc_section *d;
unsigned int i;
/* Known failure? */
if (strcasecmp(words[1], "FAIL") == 0) {
- if (mark_fails)
+ if (!targeting)
btree_insert(info_exclude, words[0]);
} else {
if (!test->takes_options)
cmdline_exclude = btree_new(btree_strcmp);
info_exclude = btree_new(btree_strcmp);
+ opt_register_early_noarg("--verbose|-v", opt_inc_intval, &verbose,
+ "verbose mode (up to -vvvv)");
opt_register_noarg("-n|--safe-mode", opt_set_bool, &safe_mode,
"do not compile anything");
opt_register_noarg("-l|--list-tests", list_tests, NULL,
" (can be used multiple times, or 'all')");
opt_register_noarg("--summary|-s", opt_set_bool, &summary,
"simply give one line summary");
- opt_register_noarg("--verbose|-v", opt_inc_intval, &verbose,
- "verbose mode (up to -vvvv)");
opt_register_arg("-x|--exclude <testname>", skip_test, NULL, NULL,
"exclude <testname> (can be used multiple times)");
opt_register_arg("-t|--timeout <milleseconds>", opt_set_uintval,
" of CCAN modules.",
"This usage message");
+ /* Do verbose before anything else... */
+ opt_early_parse(argc, argv, opt_log_stderr_exit);
+
/* We move into temporary directory, so gcov dumps its files there. */
if (chdir(temp_dir(talloc_autofree_context())) != 0)
err(1, "Error changing to %s temporary dir", temp_dir(NULL));
for (i = 1; i < argc; i++) {
unsigned int score, total_score;
- bool added_info_options = false;
dir = argv[i];
goto next;
}
}
-
- /* --target overrides known FAIL from _info */
- if (!added_info_options && m->info_file) {
- add_info_options(m->info_file, !target);
- added_info_options = true;
- }
}
printf("%sTotal score: %u/%u\n", prefix, score, total_score);