diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2013-05-10 12:00:23 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2013-05-16 12:21:56 +0800 |
commit | 5024701da503c883bd23eb2b443b03297a0e8594 (patch) | |
tree | 97ae4c9c8099f560c9b9c9476a5b2c5aa005a5ba /test | |
parent | 70ad7ba01b43404585c76512bffe99ede0c0f55a (diff) | |
download | talos-petitboot-5024701da503c883bd23eb2b443b03297a0e8594.tar.gz talos-petitboot-5024701da503c883bd23eb2b443b03297a0e8594.zip |
test/parser: Add grub2 multiple resolution test
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-multiple-resolve.c | 41 |
2 files changed, 42 insertions, 0 deletions
diff --git a/test/parser/Makefile.am b/test/parser/Makefile.am index f711c1e..e330e82 100644 --- a/test/parser/Makefile.am +++ b/test/parser/Makefile.am @@ -26,6 +26,7 @@ AM_CFLAGS = -O0 -ggdb -Wall -Wextra -Werror TESTS = test-null \ test-grub2-single \ + test-grub2-multiple-resolve \ test-grub2-f18-ppc64 \ test-kboot-single \ test-yaboot-single \ diff --git a/test/parser/test-grub2-multiple-resolve.c b/test/parser/test-grub2-multiple-resolve.c new file mode 100644 index 0000000..3bf4eab --- /dev/null +++ b/test/parser/test-grub2-multiple-resolve.c @@ -0,0 +1,41 @@ + +#include "parser-test.h" + +#if 0 /* PARSER_EMBEDDED_CONFIG */ +menuentry 'Linux 1' { + search --set=root 48c1b787-20ad-47ce-b9eb-b108dddc3535 + linux /vmlinux +} + +menuentry 'Linux 2' { + search --set=root 48c1b787-20ad-47ce-b9eb-b108dddc3535 + linux /vmlinux +} +#endif + +void run_test(struct parser_test *test) +{ + struct discover_boot_option *opt[2]; + struct discover_context *ctx; + struct discover_device *dev; + + test_read_conf_embedded(test); + test_run_parser(test, "grub2"); + + ctx = test->ctx; + + check_boot_option_count(ctx, 2); + + opt[0] = get_boot_option(ctx, 0); + opt[1] = get_boot_option(ctx, 1); + + check_unresolved_resource(opt[0]->boot_image); + check_unresolved_resource(opt[1]->boot_image); + + dev = test_create_device(ctx, "external"); + dev->uuid = "48c1b787-20ad-47ce-b9eb-b108dddc3535"; + test_hotplug_device(test, dev); + + check_resolved_local_resource(opt[0]->boot_image, dev, "/vmlinux"); + check_resolved_local_resource(opt[1]->boot_image, dev, "/vmlinux"); +} |