also include "aligned"
[llf.git] / run_tests.sh
blobfc17e89f15f416e50f3643d9d0a66bddee3ab8d0
1 #!/bin/sh
3 set -eu
5 root=$(dirname $(readlink -f "$0") )
6 tmpdir=$(mktemp -d)
7 ret=0
9 cd "${root}"
10 pat=""
11 [ "$#" -ge 1 ] && pat="$1"
13 for inputf in $(ls tests/*${pat}*.input.tex)
15 nicename="${inputf%.input.tex}"
16 outputf="${nicename}.output.tex"
17 resultf="${tmpdir}/"$(basename "${outputf}")
19 if [ -f "${outputf}" ]
20 then
21 printf '%s... ' "${nicename}"
22 "${root}/llf.lua" -c "${root}/llfrc.lua" < "${inputf}" \
23 2>&1 > "${resultf}"
24 if diff -q "${outputf}" "${resultf}" >/dev/null 2>&1
25 then
26 printf '\033[1;34mPASS\033[0m\n'
27 else
28 ret=1
29 printf '\033[1;31mFAIL\033[0m\n'
30 diff -u "${resultf}" "${outputf}"
32 else
33 printf '%s... ' "${nicename}"
34 printf '\033[1;33mNO STORED OUTPUT\033[0m\n'
36 done
38 rm -rf "${tmpdir}"
40 exit "${ret}"