diff options
author | Brett Grandbois <brett.grandbois@opengear.com> | 2018-06-11 07:54:08 +1000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-06-12 14:43:36 +1000 |
commit | 0e9f4d38b19c2d7557528ef5b11b93377525cd55 (patch) | |
tree | a8448d4ceae557716297c0073c774fe5a67948e9 /test/parser | |
parent | 18a47a31b46d916c58a31e8784a7c3a3abcae446 (diff) | |
download | talos-petitboot-0e9f4d38b19c2d7557528ef5b11b93377525cd55.tar.gz talos-petitboot-0e9f4d38b19c2d7557528ef5b11b93377525cd55.zip |
discover/syslinux-parser: consistent cmdline arg processing
In signed-boot environments consistent handling of kernel commandline
options is essential as they must be pre-signed. In the syslinux parser
ensure that in the absence of a global APPEND they are processed
exactly as found and not with the leading space that the current APPEND
processing has as a shortcut.
Signed-off-by: Brett Grandbois <brett.grandbois@opengear.com>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Diffstat (limited to 'test/parser')
-rw-r--r-- | test/parser/test-syslinux-explicit.c | 2 | ||||
-rw-r--r-- | test/parser/test-syslinux-global-append.c | 19 | ||||
-rw-r--r-- | test/parser/test-syslinux-single-yocto.c | 2 |
3 files changed, 17 insertions, 6 deletions
diff --git a/test/parser/test-syslinux-explicit.c b/test/parser/test-syslinux-explicit.c index 5d23f50..82030bf 100644 --- a/test/parser/test-syslinux-explicit.c +++ b/test/parser/test-syslinux-explicit.c @@ -36,6 +36,6 @@ void run_test(struct parser_test *test) check_name(opt, "backup"); check_resolved_local_resource(opt->boot_image, ctx->device, "/backup/vmlinuz"); - check_args(opt, " root=/dev/sdb"); + check_args(opt, "root=/dev/sdb"); check_resolved_local_resource(opt->initrd, ctx->device, "/boot/initrd"); } diff --git a/test/parser/test-syslinux-global-append.c b/test/parser/test-syslinux-global-append.c index 18af99a..af2e9af 100644 --- a/test/parser/test-syslinux-global-append.c +++ b/test/parser/test-syslinux-global-append.c @@ -18,6 +18,9 @@ LABEL hyphen KERNEL /test/vmlinuz APPEND - +LABEL onlyglobal +KERNEL /only/vmlinuz + #endif void run_test(struct parser_test *test) @@ -31,8 +34,9 @@ void run_test(struct parser_test *test) ctx = test->ctx; - check_boot_option_count(ctx, 3); - opt = get_boot_option(ctx, 2); + check_boot_option_count(ctx, 4); + + opt = get_boot_option(ctx, 3); check_name(opt, "linux"); check_resolved_local_resource(opt->boot_image, ctx->device, "/vmlinuz"); @@ -40,17 +44,24 @@ void run_test(struct parser_test *test) check_args(opt, "console=ttyS0 console=tty0"); check_not_present_resource(opt->initrd); - opt = get_boot_option(ctx, 1); + opt = get_boot_option(ctx, 2); 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); + opt = get_boot_option(ctx, 1); check_name(opt, "hyphen"); check_resolved_local_resource(opt->boot_image, ctx->device, "/test/vmlinuz"); check_args(opt, ""); check_not_present_resource(opt->initrd); + + opt = get_boot_option(ctx, 0); + + check_name(opt, "onlyglobal"); + check_resolved_local_resource(opt->boot_image, ctx->device, "/only/vmlinuz"); + check_args(opt, "console=ttyS0"); + check_not_present_resource(opt->initrd); } diff --git a/test/parser/test-syslinux-single-yocto.c b/test/parser/test-syslinux-single-yocto.c index e5e084d..dd26577 100644 --- a/test/parser/test-syslinux-single-yocto.c +++ b/test/parser/test-syslinux-single-yocto.c @@ -32,5 +32,5 @@ void run_test(struct parser_test *test) check_name(opt, "boot"); check_resolved_local_resource(opt->boot_image, ctx->device, "/vmlinuz"); check_is_default(opt); - check_args(opt, " console=ttyS0,115200n8 console=tty0"); + check_args(opt, "console=ttyS0,115200n8 console=tty0"); } |