[/] [trunk/] [tests/] [description.awk] - Rev 50
# $Id: description.awk 50 2008-07-22 03:14:37Z tbourke $
#
# 20080722 T. Bourke
# Original code.
#
# * create eval option for urpal command line:
# xsltproc --novalid description.xsl testNNN.xml \
# | awk -m mode=eval -f description.awk
#
# * create set layout option for urpal command line:
# xsltproc --novalid description.xsl testNNN.xml \
# | awk -m mode=setlayout -f description.awk
#
# * show the test description:
# xsltproc --novalid description.xsl testNNN.xml \
# | awk -m mode=description -f description.awk
#
# * create a diff for stderr:
# xsltproc --novalid description.xsl testNNN.xml \
# | awk -m mode=stderr -f description.awk
#
BEGIN { currfield = ""
field["description"] = ""
field["error"] = 0
field["stderr"] = ""
field["layout"] = "fdp"
field["scale"] = "1.0"
field["tabulate"] = "no"
field["author"] = "unknown"
field["created"] = "00000000"
}
/^[ \t]*$/ { next; }
/.*\*\/.*/ { if (mode == "") {
for (v in field) printf "%s=%s\n", v, field[v]
} else if (mode == "eval") {
src = "Template"
if (field["scale"] != "1.0")
src = sprintf("scale(Template,%s)", field["scale"])
if (field["tabulate"] == "yes")
src = sprintf("tabulate(%s,{Err})", src)
printf("--eval=Test=maketest(%s)\n", src)
} else if (mode == "setlayout") {
printf("--set=graphviz{engine=%s}\n", field["layout"])
} else {
if (field[mode] != "")
print field[mode]
}
exit
}
/^[ \t]*(description|error|stderr|layout|scale|tabulate|author|created):/ {
currfield = $1
sub(":$", "", currfield)
value = $0
sub("^[ \t]*[^:]*:[ \t]*", "", value)
field[currfield] = value
next
}
(currfield != "") {
sub("^[ \t]*", "")
field[currfield] = field[currfield] "\n" $0
}