5 #include <talloc/talloc.h>
7 #include "parser-test.h"
9 static const char *envsig = "# GRUB Environment Block\n";
13 const char *env_before;
15 const char *env_after;
20 "a=xxx\nsave_env a\n",
26 "a=xxx\nsave_env a\n",
32 "a=xxx\nsave_env a\n",
74 "a=xxx\nsave_env a\n",
79 static void run_env_test(struct parser_test *test, struct env_test *envtest)
81 const char *env_before, *env_after;
83 env_before = talloc_asprintf(test, "%s%s", envsig, envtest->env_before);
84 env_after = talloc_asprintf(test, "%s%s", envsig, envtest->env_after);
86 test_add_file_data(test, test->ctx->device, "/boot/grub/grubenv",
87 env_before, strlen(env_before));
89 __test_read_conf_data(test, test->ctx->device,
90 "/boot/grub/grub.cfg", envtest->script,
91 strlen(envtest->script));
93 test_run_parser(test, "grub2");
95 check_file_contents(test, test->ctx->device, "/boot/grub/grubenv",
96 env_after, strlen(env_after));
99 void run_test(struct parser_test *test)
101 struct env_test *env_test;
104 for (i = 0; i < ARRAY_SIZE(tests); i++) {
105 env_test = &tests[i];
106 printf("test %s: ", env_test->name);
108 run_env_test(test, env_test);