#!/bin/sh bfc="./bfc" beef="beef" make || exit 1 for bftest in tests/*.bf do for input in tests/*.in do beefres=$(tempfile) bfcelf=$(tempfile) bfcelfres=$(tempfile) $beef -i $input $bftest > $beefres $bfc -o $bfcelf $bftest 2>/dev/null chmod +x $bfcelf $bfcelf < $input > $bfcelfres diff=$(diff $bfcelfres $beefres) if [ -n "$diff" ] then echo "========" echo "Error : $bftest on $input differs between bfc and beef" diff $bfcelfres $beefres hexdump -C $bfcres hexdump -C $beefres echo "========" fi echo "$bftest $input [OK]" rm $beefres $bfcres $bfcelf $bfcelfres done done