34 lines
683 B
Plaintext
34 lines
683 B
Plaintext
|
#!/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++))
|
||
|
$command $file > $file.out
|
||
|
if [[ $? -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
|