test/parser: test no whitespace on grub menuentry
authorBrett Grandbois <brett.grandbois@opengear.com>
Mon, 5 Feb 2018 20:40:33 +0000 (06:40 +1000)
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>
Wed, 7 Feb 2018 21:01:49 +0000 (08:01 +1100)
Signed-off-by: Brett Grandbois <brett.grandbois@opengear.com>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
test/parser/Makefile.am
test/parser/test-grub2-single-yocto.c [new file with mode: 0644]

index eb71a07dd1b76cafb3df7f361c4e296695a433e5..31300f091ee4edc13c4c3eca3a16e3f514b5bf08 100644 (file)
@@ -39,6 +39,7 @@ parser_TESTS = \
        test/parser/test-grub2-lexer-error \
        test/parser/test-grub2-parser-error \
        test/parser/test-grub2-test-file-ops \
+       test/parser/test-grub2-single-yocto \
        test/parser/test-kboot-single \
        test/parser/test-yaboot-empty \
        test/parser/test-yaboot-single \
diff --git a/test/parser/test-grub2-single-yocto.c b/test/parser/test-grub2-single-yocto.c
new file mode 100644 (file)
index 0000000..4c8ccba
--- /dev/null
@@ -0,0 +1,38 @@
+
+#include "parser-test.h"
+
+/*
+ * yocto default efi-grub wks doesn't put a space between the menuentry
+ * label and the '{'
+ */
+
+#if 0 /* PARSER_EMBEDDED_CONFIG */
+serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
+default=boot
+timeout=0
+menuentry 'boot'{
+linux /bzImage console=ttyS0,115200n8 console=tty0
+}
+#endif
+
+void run_test(struct parser_test *test)
+{
+       struct discover_boot_option *opt;
+       struct discover_context *ctx;
+
+       test_read_conf_embedded(test, "/efi/boot/grub.cfg");
+
+       test_run_parser(test, "grub2");
+
+       ctx = test->ctx;
+
+       check_boot_option_count(ctx, 1);
+       opt = get_boot_option(ctx, 0);
+
+       check_name(opt, "boot");
+       check_resolved_local_resource(opt->boot_image, ctx->device, "/bzImage");
+       check_not_present_resource(opt->initrd);
+       check_is_default(opt);
+
+       check_args(opt, "console=ttyS0,115200n8 console=tty0");
+}