+dnl left_pad(STRING, N, [PAD])
+dnl right_pad(STRING, N, [PAD])
+m4_define([left_pad], [padding_string([$1], [$2], [$3])$1])
+m4_define([right_pad], [$1[]padding_string([$1], [$2], [$3])])
+
+dnl check_template(CMD, RC, STDOUT, STDERR)
+m4_define([check_template], [
+AT_CHECK([$1], [$2], [stdout], [stderr-nolog])
+AT_DATA([expout.tpl], [$3])
+$PYTHON $abs_srcdir/template-canonify expout.tpl stdout expout stdout.found
+AT_DATA([experr.tpl], [$4])
+$PYTHON $abs_srcdir/template-canonify experr.tpl stderr experr stderr.found
+AT_CHECK([cat stdout.found; cat stderr.found >&2], [0], [expout], [experr])])