Files
newt/scripts/test

32 lines
748 B
Bash
Executable File

#!/bin/sh
SAMPLES=$(find playground/samples -name "*.newt")
total=0
failed=0
for fn in tests/*.newt ; do
total=$((total + 1))
echo Test $fn
bn=$(basename $fn)
./build/exec/newt $fn -o out.js > tmp/${bn}.compile
if [ $? != "0" ]; then
echo Compile failed for $fn
failed=$((failed + 1))
continue
fi
# if there is a golden file, run the code and compare output
if [ -f ${fn}.golden ]; then
bun run out.js > tmp/${bn}.out
if [ $? != "0" ]; then
echo Run failed for $fn
failed=$((failed + 1))
continue
fi
if ! diff -q tmp/${bn}.out ${fn}.golden; then
echo "Output mismatch for $fn"
failed=$((failed + 1))
fi
fi
done
echo "Total tests: $total"
echo "Failed tests: $failed"