talloc_free(test);
}
-void __test_read_conf_data(struct parser_test *test, const char *conf_file,
+void __test_read_conf_data(struct parser_test *test,
+ struct discover_device *dev, const char *conf_file,
const char *buf, size_t len)
{
- test_add_file_data(test, test->ctx->device, conf_file, buf, len);
+ test_add_file_data(test, dev, conf_file, buf, len);
}
void test_read_conf_file(struct parser_test *test, const char *filename,
char *tmp;
list_for_each_entry(&test->files, file, list) {
- if (strcmp(file->name, url->file))
+ if (file->dev)
+ continue;
+
+ if (strcmp(file->name, url->full))
continue;
/* the read_file() interface always adds a trailing null
boot_option_resolve(test->handler, opt);
}
+void test_remove_device(struct parser_test *test, struct discover_device *dev)
+{
+ struct discover_boot_option *opt, *tmp;
+
+ if (dev == test->ctx->device) {
+ list_for_each_entry_safe(&test->ctx->boot_options,
+ opt, tmp, list) {
+ list_remove(&opt->list);
+ talloc_free(opt);
+ }
+ }
+
+ device_handler_remove(test->handler, dev);
+}
+
struct discover_boot_option *get_boot_option(struct discover_context *ctx,
int idx)
{