diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2014-01-14 10:56:41 +0800 |
---|---|---|
committer | Jeremy Kerr <jk@ozlabs.org> | 2014-01-14 11:02:32 +0800 |
commit | 5ee01bf795817cbfa9fb378b11ebd212d66e51c1 (patch) | |
tree | 2c4b2279eaef9b82606f3017e962a7d89aa56bcd /test/parser | |
parent | fb03a29fab5130041ed8f607f811dadeb797e5c9 (diff) | |
download | talos-petitboot-5ee01bf795817cbfa9fb378b11ebd212d66e51c1.tar.gz talos-petitboot-5ee01bf795817cbfa9fb378b11ebd212d66e51c1.zip |
discover/yaboot: Clear globals_done when we see an image definition
Currently, we have a bug where a 'known_name' that appears before an
image section will cause globals_done to be set, and we don't see any
further global variables.
This change sets globals_done only once we see an image section.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'test/parser')
-rw-r--r-- | test/parser/Makefile.am | 1 | ||||
-rw-r--r-- | test/parser/test-yaboot-global-state.c | 30 |
2 files changed, 31 insertions, 0 deletions
diff --git a/test/parser/Makefile.am b/test/parser/Makefile.am index abc95bb..8af4190 100644 --- a/test/parser/Makefile.am +++ b/test/parser/Makefile.am @@ -50,6 +50,7 @@ TESTS = \ test-yaboot-root-global \ test-yaboot-root-override \ test-yaboot-device-override \ + test-yaboot-global-state \ test-yaboot-default \ test-yaboot-rh8-ppc64 \ test-pxe-empty \ diff --git a/test/parser/test-yaboot-global-state.c b/test/parser/test-yaboot-global-state.c new file mode 100644 index 0000000..d0c71bb --- /dev/null +++ b/test/parser/test-yaboot-global-state.c @@ -0,0 +1,30 @@ +#include "parser-test.h" + +#if 0 /* PARSER_EMBEDDED_CONFIG */ +append="console=ttyS0" +default=one + +image=/boot/vmlinux-1 + label=one + +image=/boot/vmlinux-2 + label=two +#endif + +void run_test(struct parser_test *test) +{ + struct discover_boot_option *opt; + struct discover_context *ctx; + + test_read_conf_embedded(test, "/etc/yaboot.conf"); + + test_run_parser(test, "yaboot"); + + ctx = test->ctx; + + check_boot_option_count(ctx, 2); + + opt = get_boot_option(ctx, 0); + check_name(opt, "one"); + check_is_default(opt); +} |