]> git.ozlabs.org Git - petitboot/blobdiff - test/parser/parser-test.c
parsers: dynamically register parsers
[petitboot] / test / parser / parser-test.c
index 75533e3a116dd41ba0355851d793baeb4dfc50af..33b411b2e4dbe1e29f055526e66d3ad9ee8f8a15 100644 (file)
 
 static FILE *testf;
 
-void device_add_boot_option(struct device *device,
-               struct boot_option *boot_option)
+struct device *discover_context_device(struct discover_context *ctx)
 {
-       fprintf(testf, "%s: %s\n", __func__, device->id);
-       fprintf(testf, " id     '%s'\n", boot_option->id);
-       fprintf(testf, " name   '%s'\n", boot_option->name);
-       fprintf(testf, " descr  '%s'\n", boot_option->description);
-       fprintf(testf, " icon   '%s'\n", boot_option->icon_file);
-       fprintf(testf, " image  '%s'\n", boot_option->boot_image_file);
-       fprintf(testf, " initrd '%s'\n", boot_option->initrd_file);
-       fprintf(testf, " args   '%s'\n", boot_option->boot_args);
+       return ctx->device->device;
+}
+
+struct discover_boot_option *discover_boot_option_create(
+               struct discover_context *ctx,
+               struct discover_device *dev)
+{
+       struct discover_boot_option *opt;
+
+       opt = talloc_zero(ctx, struct discover_boot_option);
+       opt->option = talloc(opt, struct boot_option);
+       opt->device = dev;
+
+       return opt;
+}
+
+struct discover_device *device_lookup_by_name(
+               struct device_handler *handler __attribute__((unused)),
+               const char *name __attribute__((unused)))
+{
+       return NULL;
+}
+
+struct discover_device *device_lookup_by_label(
+               struct device_handler *handler __attribute__((unused)),
+               const char *label __attribute__((unused)))
+{
+       return NULL;
+}
+
+struct discover_device *device_lookup_by_uuid(
+               struct device_handler *handler __attribute__((unused)),
+               const char *uuid __attribute__((unused)))
+{
+       return NULL;
+}
+
+
+void discover_context_add_boot_option(struct discover_context *ctx,
+               struct discover_boot_option *boot_option)
+{
+       struct boot_option *opt = boot_option->option;
+
+       fprintf(testf, "%s: %s\n", __func__, ctx->device->device->id);
+       fprintf(testf, " id     '%s'\n", opt->id);
+       fprintf(testf, " name   '%s'\n", opt->name);
+       fprintf(testf, " descr  '%s'\n", opt->description);
+       fprintf(testf, " icon   '%s'\n", opt->icon_file);
+       fprintf(testf, " image  '%s'\n", opt->boot_image_file);
+       fprintf(testf, " initrd '%s'\n", opt->initrd_file);
+       fprintf(testf, " args   '%s'\n", opt->boot_args);
        fflush(testf);
 }
 
@@ -62,9 +104,11 @@ int main(int argc, char **argv)
 
        ctx = talloc_zero(NULL, struct discover_context);
 
-       ctx->device_path = talloc_asprintf(ctx, "%s/%s", argv[1], argv[2]);
-       ctx->device = talloc_zero(ctx, struct device);
-       ctx->device->id = talloc_strdup(ctx->device, argv[2]);
+       ctx->device = talloc_zero(ctx, struct discover_device);
+       ctx->device->device = talloc_zero(ctx->device, struct device);
+       ctx->device->mount_path = talloc_asprintf(ctx, "%s/%s",
+                                                       argv[1], argv[2]);
+       ctx->device->device->id = talloc_strdup(ctx->device->device, argv[2]);
 
        iterate_parsers(ctx);