+#! /bin/sh
+#
+# tapdiffer - Render diff between input and checkfile as a TAP report
+#
+# Usage: tapdiffer LEGEND CHECKFILE
+#
+# Output is a TAP report, ok if the diff is empty and not ok otherwisw.
+# A nonempty diff is shipped as a TAP YAML block following "not ok"
+# unless QUIET=1 in the environment.
+#
+legend=$1
+checkfile=$2
+
+trap 'rm /tmp/tapdiff$$' EXIT HUP INT QUIT TERM
+
+if diff --text -u ${checkfile} - >/tmp/tapdiff$$
+then
+ echo "ok - ${legend}"
+ exit 0
+else
+ echo "not ok - ${checkfile}: ${legend}"
+ if [ ! "${QUIET}" = 1 ]
+ then
+ echo " --- |"
+ sed </tmp/tapdiff$$ -e 's/^/ /'
+ echo " ..."
+ fi
+ exit 1
+fi
+
+# end