const char *name);
#define test_read_conf_data(t, f, d) \
- __test_read_conf_data(t, f, d, sizeof(d))
+ __test_read_conf_data(t, t->ctx->device, f, d, sizeof(d))
-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);
void test_read_conf_file(struct parser_test *test, const char *filename,
const char *conf_file);
extern const char __embedded_config[];
extern const size_t __embedded_config_size;
#define test_read_conf_embedded(t, f) \
- __test_read_conf_data(t, f, __embedded_config, __embedded_config_size)
+ __test_read_conf_data(t, t->ctx->device, f, \
+ __embedded_config, __embedded_config_size)
+
+#define test_read_conf_embedded_url(t, u) \
+ __test_read_conf_data(t, NULL, u, \
+ __embedded_config, __embedded_config_size)
/**
* Checks for parser results.
test_add_file_data(test, test->ctx->device, "/boot/grub/grubenv",
env_before, strlen(env_before));
- __test_read_conf_data(test, "/boot/grub/grub.cfg", envtest->script,
+ __test_read_conf_data(test, test->ctx->device,
+ "/boot/grub/grub.cfg", envtest->script,
strlen(envtest->script));
test_run_parser(test, "grub2");
struct discover_boot_option *opt;
struct discover_context *ctx;
- test_read_conf_embedded(test, "conf.txt");
+ test_read_conf_embedded_url(test, "tftp://host/dir/conf.txt");
test_set_event_source(test);
test_set_event_param(test->ctx->event, "pxeconffile",
struct discover_boot_option *opt;
struct discover_context *ctx;
- test_read_conf_embedded(test, "C0A8");
+ test_read_conf_embedded_url(test, "tftp://host/dir/C0A8");
test_set_event_source(test);
test_set_event_param(test->ctx->event, "bootfile", "dir/pxe");
struct discover_boot_option *opt;
struct discover_context *ctx;
- test_read_conf_embedded(test, "01-12-34-56-78-9A-BC");
+ test_read_conf_embedded_url(test,
+ "tftp://host/dir/01-12-34-56-78-9A-BC");
test_set_event_source(test);
test_set_event_param(test->ctx->event, "bootfile", "dir/pxe");
struct discover_boot_option *opt;
struct discover_context *ctx;
- test_read_conf_embedded(test, "conf.txt");
+ test_read_conf_embedded_url(test, "tftp://host/conf.txt");
test_set_event_source(test);
test_set_event_param(test->ctx->event, "siaddr", "host");
struct discover_boot_option *opt;
struct discover_context *ctx;
- test_read_conf_embedded(test, "conf.txt");
+ test_read_conf_embedded_url(test, "tftp://host/dir/conf.txt");
test_set_event_source(test);
test_set_event_param(test->ctx->event, "pxeconffile",
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