picoc/test/picotest.sh
zik.saleeba 995266ce9c Added test framework.
Implemented preprocessor-style directives (not finished yet).


git-svn-id: http://picoc.googlecode.com/svn/trunk@26 21eae674-98b7-11dd-bd71-f92a316d2d60
2009-01-04 04:08:49 +00:00

26 lines
628 B
Bash
Executable file

#!/bin/sh
if [ ! -f $1 ]
then
echo "no test file $1"
exit 1
fi
TESTNAME="`echo $1 | sed 's/\.t$//'`"
echo $TESTNAME...
awk '{ if ($1 == "%%") hide = 1; if (hide != 1) print; }' <$TESTNAME.t >$TESTNAME.c
awk '{ if (show == 1) print; if ($1 == "%%") show = 1; }' <$TESTNAME.t >$TESTNAME.expect
../picoc $TESTNAME.c 2>&1 >$TESTNAME.out
if [ "x`diff -q $TESTNAME.expect $TESTNAME.out`" != "x" ]
then
echo "error in test $TESTNAME"
diff -u $TESTNAME.expect $TESTNAME.out
rm -f $TESTNAME.c $TESTNAME.expect $TESTNAME.out
exit 1
fi
rm -f $TESTNAME.c $TESTNAME.expect $TESTNAME.out