From: Jeremy Kerr Date: Fri, 20 Sep 2013 06:25:30 +0000 (+0800) Subject: test/parser: check for multiple default options X-Git-Tag: v1.0.0~485 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=85d8a6966cbf5c97023c11620cabd8a63b883e07;hp=402884d9d5835879f3c75657a46492cc03261255 test/parser: check for multiple default options Update check_boot_option_count to check if a parser returned more than one boot option with is_default set. Signed-off-by: Jeremy Kerr --- diff --git a/test/parser/utils.c b/test/parser/utils.c index de1dc13..7ebb411 100644 --- a/test/parser/utils.c +++ b/test/parser/utils.c @@ -206,10 +206,19 @@ void __check_boot_option_count(struct discover_context *ctx, int count, const char *file, int line) { struct discover_boot_option *opt; - int i = 0; + int defaults = 0, i = 0; - list_for_each_entry(&ctx->boot_options, opt, list) + list_for_each_entry(&ctx->boot_options, opt, list) { i++; + if (opt->option->is_default) + defaults++; + } + + if (defaults > 1) { + fprintf(stderr, "%s:%d: parser returned multiple default " + "options\n", file, line); + exit(EXIT_FAILURE); + } if (i == count) return;