]> git.ozlabs.org Git - petitboot/blob - test/parser/test-pxe-discover-bootfile-async-file.c
discover/pxe-parser: Parse simple iPXE scripts
[petitboot] / test / parser / test-pxe-discover-bootfile-async-file.c
1
2 #include "parser-test.h"
3
4 #if 0 /* PARSER_EMBEDDED_CONFIG */
5 label linux
6 kernel vmlinux
7 initrd initrd
8 #endif
9
10 /**
11  * Manually specified conf files will be downloaded locally before being passed
12  * to the parser. Check that the parser correctly resolves relative paths to the
13  * actual source, rather than the local file path.
14  */
15
16 void run_test(struct parser_test *test)
17 {
18         struct discover_boot_option *opt;
19         struct discover_context *ctx;
20
21         test_read_conf_embedded_url(test, "file://tmp/conf.txt");
22
23         test_set_event_source(test);
24         test_set_event_param(test->ctx->event, "pxeconffile",
25                         "tftp://host/dir/fail.txt");
26         test_set_event_param(test->ctx->event, "pxeconffile-local",
27                         "file://tmp/conf.txt");
28
29         test_run_parser(test, "pxe");
30
31         ctx = test->ctx;
32
33         check_boot_option_count(ctx, 1);
34         opt = get_boot_option(ctx, 0);
35
36         check_name(opt, "linux");
37
38         check_resolved_url_resource(opt->boot_image,
39                         "tftp://host/dir/vmlinux");
40         check_resolved_url_resource(opt->initrd,
41                         "tftp://host/dir/initrd");
42 }