]> git.ozlabs.org Git - petitboot/blobdiff - test/parser/extract-config.awk
test/parser: Allow raw config data in test .c files
[petitboot] / test / parser / extract-config.awk
diff --git a/test/parser/extract-config.awk b/test/parser/extract-config.awk
new file mode 100644 (file)
index 0000000..e7a5b33
--- /dev/null
@@ -0,0 +1,21 @@
+BEGIN {
+       config=0
+}
+
+/^#if\s*0\s*\/\*\s*PARSER_EMBEDDED_CONFIG/ {
+       config=1
+       print "#include <stdlib.h>"
+       print "const char __embedded_config[] = "
+       next
+}
+!config {
+       next
+}
+/^#endif/ {
+       print ";"
+       print "const size_t __embedded_config_size = sizeof(__embedded_config);"
+       exit
+}
+{
+       print "\t\"" $0 "\\n\""
+}