cleanup() { rm -rf $TMPDIR } trap cleanup 0 run_testprog() { local prog=$1 local input=$2 case "$prog" in load_dump) ./$prog $input $TMPDIR/output 2>$TMPDIR/error ;; *) ./$prog <$input >$TMPDIR/output 2>$TMPDIR/error ;; esac } for testfile in $TESTFILES; do mkdir -p $TMPDIR ${srcdir}/split-testfile.py $testfile $TMPDIR | while read input output; do run_test load_dump $input $output run_test loadf_dumpf $input $output run_test loads_dumps $input $output done || exit 1 rm -rf $TMPDIR done