summaryrefslogtreecommitdiffstats
path: root/test/parser/test-pxe-discover-bootfile-absolute-conffile.c
blob: 8326690744551b51d22c89b7cc0d9b4e212dcbdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

#include "parser-test.h"

#if 0 /* PARSER_EMBEDDED_CONFIG */
label linux
kernel vmlinux
initrd initrd
#endif

/**
 * Test that a pxeconffile option (DHCP opt 209) takes precedence over
 * configuration discovery, and is resolved as an absolute path, overriding
 * any prefix in bootfile.
 */

void run_test(struct parser_test *test)
{
	struct discover_boot_option *opt;
	struct discover_context *ctx;

	/* fixme: we should have a normalised URL here */
	test_read_conf_embedded_url(test, "tftp://host//dir1/conf");

	test_set_event_source(test);
	test_set_event_param(test->ctx->event, "bootfile", "dir2/binary");
	test_set_event_param(test->ctx->event, "pxeconffile", "/dir1/conf");
	test_set_event_param(test->ctx->event, "tftp", "host");

	test_run_parser(test, "pxe");

	ctx = test->ctx;

	check_boot_option_count(ctx, 1);
	opt = get_boot_option(ctx, 0);

	check_name(opt, "linux");

	check_resolved_url_resource(opt->boot_image,
			"tftp://host/dir1/vmlinux");
	check_resolved_url_resource(opt->initrd,
			"tftp://host/dir1/initrd");
}
OpenPOWER on IntegriCloud