]> git.ozlabs.org Git - petitboot/blobdiff - test/parser/utils.c
discover/device-handler: Ensure we free unresolved boot options on remove
[petitboot] / test / parser / utils.c
index b80e0e102025430f4ebaece59540481d44fb5814..80117937e56f2f598e8bf211a2d3235d8072d26d 100644 (file)
@@ -301,6 +301,21 @@ void test_hotplug_device(struct parser_test *test, struct discover_device *dev)
                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)
 {