dev->device->id = talloc_strdup(dev, name);
dev->device_path = talloc_asprintf(dev, "/dev/%s", name);
dev->mount_path = talloc_asprintf(dev, "/test/mount/%s", name);
+ dev->mounted = true;
return dev;
}
list_init(&ctx->boot_options);
ctx->device = test_create_device_simple(test);
+ ctx->test_data = test;
device_handler_add_device(test->handler, ctx->device);
return ctx;
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;
{
int rc;
+ if (!opt->option->boot_args && !args)
+ return;
+
if (!opt->option->boot_args) {
fprintf(stderr, "%s:%d: arg check failed\n", file, line);
fprintf(stderr, " no arguments parsed\n");