X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=test%2Fparser%2Ftest-grub2-saved-default.c;fp=test%2Fparser%2Ftest-grub2-saved-default.c;h=c1f64785dd1ca0aaff0e47e9bcb9a7e2393e62b1;hp=0000000000000000000000000000000000000000;hb=13e41764a7450302b874668bc1a3fbf6be25b781;hpb=d67d5beceef94686818ce264b2ca93f82b66e8f4 diff --git a/test/parser/test-grub2-saved-default.c b/test/parser/test-grub2-saved-default.c new file mode 100644 index 0000000..c1f6478 --- /dev/null +++ b/test/parser/test-grub2-saved-default.c @@ -0,0 +1,47 @@ + +#include "parser-test.h" + +#if 0 /* PARSER_EMBEDDED_CONFIG */ +if [ -s $prefix/grubenv ]; then + load_env +fi +if [ "${next_entry}" ] ; then + set default="${next_entry}" + set next_entry= + save_env next_entry + set boot_once=true +else + set default="${saved_entry}" +fi +menuentry 'test saved option' { + linux vmlinux +} +#endif + + + +void run_test(struct parser_test *test) +{ + struct discover_boot_option *opt; + struct discover_context *ctx; + + test_add_file_string(test, test->ctx->device, + "/boot/grub/grubenv", + "# GRUB Environment Block\n" + "saved_entry=test saved option\n" + "#############################"); + + test_read_conf_embedded(test, "/boot/grub/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, "test saved option"); + check_resolved_local_resource(opt->boot_image, ctx->device, + "/vmlinux"); + check_is_default(opt); +}