From 85d8a6966cbf5c97023c11620cabd8a63b883e07 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Fri, 20 Sep 2013 14:25:30 +0800 Subject: [PATCH] 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 --- test/parser/utils.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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; -- 2.39.2