summaryrefslogtreecommitdiffstats
path: root/test/parser
diff options
context:
space:
mode:
authorBrett Grandbois <brett.grandbois@opengear.com>2018-06-11 07:54:08 +1000
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-06-12 14:43:36 +1000
commit0e9f4d38b19c2d7557528ef5b11b93377525cd55 (patch)
treea8448d4ceae557716297c0073c774fe5a67948e9 /test/parser
parent18a47a31b46d916c58a31e8784a7c3a3abcae446 (diff)
downloadtalos-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.c2
-rw-r--r--test/parser/test-syslinux-global-append.c19
-rw-r--r--test/parser/test-syslinux-single-yocto.c2
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");
}
OpenPOWER on IntegriCloud