X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=test%2Fparser%2Ftest-syslinux-global-append.c;fp=test%2Fparser%2Ftest-syslinux-global-append.c;h=18af99ae76756222fb7b005e52545e3037818cab;hb=02af1caf9df8e43ebb9555069cb014e60bb7ec6d;hp=0000000000000000000000000000000000000000;hpb=c8ba7b32759ffc72782648cf242774662c1a9e65;p=petitboot diff --git a/test/parser/test-syslinux-global-append.c b/test/parser/test-syslinux-global-append.c new file mode 100644 index 0000000..18af99a --- /dev/null +++ b/test/parser/test-syslinux-global-append.c @@ -0,0 +1,56 @@ + +#include "parser-test.h" + +#if 0 /* PARSER_EMBEDDED_CONFIG */ + +APPEND console=ttyS0 + +LABEL linux +LINUX /vmlinuz +APPEND console=tty0 + +LABEL backup +KERNEL /backup/vmlinuz +APPEND root=/dev/sdb +INITRD /boot/initrd + +LABEL hyphen +KERNEL /test/vmlinuz +APPEND - + +#endif + +void run_test(struct parser_test *test) +{ + struct discover_boot_option *opt; + struct discover_context *ctx; + + test_read_conf_embedded(test, "/syslinux/syslinux.cfg"); + + test_run_parser(test, "syslinux"); + + ctx = test->ctx; + + check_boot_option_count(ctx, 3); + opt = get_boot_option(ctx, 2); + + check_name(opt, "linux"); + check_resolved_local_resource(opt->boot_image, ctx->device, "/vmlinuz"); + check_is_default(opt); + check_args(opt, "console=ttyS0 console=tty0"); + check_not_present_resource(opt->initrd); + + opt = get_boot_option(ctx, 1); + + check_name(opt, "backup"); + check_resolved_local_resource(opt->boot_image, ctx->device, "/backup/vmlinuz"); + check_args(opt, "console=ttyS0 root=/dev/sdb"); + check_resolved_local_resource(opt->initrd, ctx->device, "/boot/initrd"); + + opt = get_boot_option(ctx, 0); + + check_name(opt, "hyphen"); + check_resolved_local_resource(opt->boot_image, ctx->device, "/test/vmlinuz"); + check_args(opt, ""); + check_not_present_resource(opt->initrd); +}