summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-05-06 11:11:37 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-05-16 11:55:30 +0800
commit30b2ac42df8827f2181c7294b2a628bbcc1cfef8 (patch)
treeba4df27b98ed82da593af8d9067c10a325c216ca
parent00f86a253a2058ad292f81ba09684fde9ac00539 (diff)
downloadtalos-petitboot-30b2ac42df8827f2181c7294b2a628bbcc1cfef8.tar.gz
talos-petitboot-30b2ac42df8827f2181c7294b2a628bbcc1cfef8.zip
test/parser: Add simple kboot test
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
-rw-r--r--test/parser/Makefile.am2
-rw-r--r--test/parser/test-kboot-single.c25
2 files changed, 27 insertions, 0 deletions
diff --git a/test/parser/Makefile.am b/test/parser/Makefile.am
index d8135d4..3733039 100644
--- a/test/parser/Makefile.am
+++ b/test/parser/Makefile.am
@@ -25,6 +25,7 @@ AM_CPPFLAGS = \
AM_CFLAGS = -O0 -ggdb -Wall -Wextra -Werror
TESTS = test-null \
+ test-kboot-single \
test-yaboot-single \
test-yaboot-external
@@ -40,6 +41,7 @@ libtest.o: $(libtest_o_OBJECTS)
# objects under test
parser_test_objs = $(top_srcdir)/discover/yaboot-parser.c \
+ $(top_srcdir)/discover/kboot-parser.c \
$(top_srcdir)/discover/resource.c \
$(top_srcdir)/discover/paths.c \
$(top_srcdir)/discover/device-handler.c \
diff --git a/test/parser/test-kboot-single.c b/test/parser/test-kboot-single.c
new file mode 100644
index 0000000..af7bdab
--- /dev/null
+++ b/test/parser/test-kboot-single.c
@@ -0,0 +1,25 @@
+
+#include "parser-test.h"
+
+static const char config[] =
+ "linux='/vmlinux initrd=/initrd arg1=value1 arg2'\n";
+
+void run_test(struct parser_test *test)
+{
+ struct discover_boot_option *opt;
+ struct discover_context *ctx;
+
+ test_read_conf_data(test, config);
+ test_run_parser(test, "kboot");
+
+ 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");
+ check_resolved_local_resource(opt->initrd, ctx->device, "/initrd");
+
+ check_args(opt, "arg1=value1 arg2");
+}
OpenPOWER on IntegriCloud