#!/usr/bin/awk -f BEGIN { RS = "--\n" FS = ":\n" split(skip, skiparray, /,/) for (i in skiparray) skipdict[skiparray[i]] } function runtest(id, code, output, failed) { if (id in skipdict) return print code > "script.sh" print output > "output" failed = 0 if (output == "ERR\n") { if (system("sh script.sh > /dev/null 2>&1") == 0) failed = 1 } else if (system("[ \"$(sh script.sh)\" = \"$(cat output)\" ]") != 0) { failed = 1 } if (failed) printf("test %s in file '%s' failed (for cppawk = %s)\n", id, FILENAME, ENVIRON["cppawk"]) close("script.sh") close("output") } $1 { runtest($1, $2, $3) }