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, "/boot/grub2/grub.cfg", envtest->script,
90 strlen(envtest->script));
92 test_run_parser(test, "grub2");
94 check_file_contents(test, test->ctx->device, "/boot/grub/grubenv",
95 env_after, strlen(env_after));
98 void run_test(struct parser_test *test)
100 struct env_test *env_test;
103 for (i = 0; i < ARRAY_SIZE(tests); i++) {
104 env_test = &tests[i];
105 printf("test %s: ", env_test->name);
107 run_env_test(test, env_test);