fostr/bin/run_tests
Glen Whitney f827c37baa feat: Complete stream extraction
Also implements ++ string concatenation operator.

  Resolves #7, #18.
2021-03-12 21:49:34 -08:00

40 lines
831 B
Bash
Executable File

#!/bin/bash
command=$1
ext=$2
total=0
failed=0
diffed=0
for dir in tests/extracted/*; do
for file in $dir/*.$ext; do
((total++))
if [[ -f ${file%.*}.in ]]; then
cat ${file%.*}.in | $command $file > $file.out
result=$?
else
$command $file > $file.out
result=$?
fi
if [[ $result -ne 0 ]]; then
echo ERROR: $command $file failed.
((failed++))
else
if [[ -f ${file%.*}.expect ]]; then
echo ---- diff ${file%.*}.expect $file.out ----
diff ${file%.*}.expect $file.out
if [[ $? -ne 0 ]]; then
((diffed++))
fi
echo -------------------------------
fi
fi
done
done
echo "Ran $total tests: $failed failures, $diffed runs differed."
if [[ $failed -gt 0 ]] || [[ $diffed -gt 0 ]]; then
exit 1
fi
exit 0