diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-09-27 14:21:53 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-10-01 13:49:14 +0800 |
commit | fcbb46482c413192756ce865a7336c5638fda6d3 (patch) | |
tree | f620654cffba8c2659d20119f1114321ca09df28 /test | |
parent | 55782f91e21dc8b9d296f13f0562670095042d1f (diff) | |
download | talos-petitboot-fcbb46482c413192756ce865a7336c5638fda6d3.tar.gz talos-petitboot-fcbb46482c413192756ce865a7336c5638fda6d3.zip |
discover/grub2: Implement load_env
Use the new parser_request_file API to access the GRUB environment
block.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/parser/Makefile.am | 1 | ||||
-rw-r--r-- | test/parser/test-grub2-load-env.c | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/test/parser/Makefile.am b/test/parser/Makefile.am index e7146c5..165b9ae 100644 --- a/test/parser/Makefile.am +++ b/test/parser/Makefile.am @@ -33,6 +33,7 @@ TESTS = \ test-grub2-default-multiword \ test-grub2-multiple-resolve \ test-grub2-single-line-if \ + test-grub2-load-env \ test-grub2-f18-ppc64 \ test-grub2-ubuntu-13_04-x86 \ test-grub2-lexer-error \ diff --git a/test/parser/test-grub2-load-env.c b/test/parser/test-grub2-load-env.c new file mode 100644 index 0000000..2f4e96e --- /dev/null +++ b/test/parser/test-grub2-load-env.c @@ -0,0 +1,32 @@ + +#include "parser-test.h" + +#if 0 /* PARSER_EMBEDDED_CONFIG */ +load_env +menuentry 'Linux' { + linux $kernel +} +#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" + "kernel=vmlinux-from-env\n"); + + test_read_conf_embedded(test); + test_run_parser(test, "grub2"); + + ctx = test->ctx; + + check_boot_option_count(ctx, 1); + opt = get_boot_option(ctx, 0); + + check_name(opt, "Linux"); + check_resolved_local_resource(opt->boot_image, ctx->device, + "/vmlinux-from-env"); +} |