Mercurial > hg > dmlib
changeset 689:686c23d69aa2
Add testing script.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Apr 2013 16:38:25 +0300 |
parents | d4bb017950eb |
children | 84811c6dd32d |
files | tests/testeval.sh |
diffstat | 1 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/testeval.sh Tue Apr 16 16:38:25 2013 +0300 @@ -0,0 +1,35 @@ +#!/bin/sh +ETEST="../evaltest -f -e" +CTEST=./frm + +echo " +3 * -1 + 5 << 1 + 8 >> 3 * 5 +5 << 1 +8 << 3 * 5 +3200/2 << 5 +3200/(2 << 5) +15+5/3 +(15+5)/3 +5*-3 +-64 + 5 << 3 * 3 - 1 +-64 + 5 << 3 + 3 - 1 +3 * -1 + 5 << 1 +7 + 3 << 2 * 3 +7 * 3 << 4 - 3 +" | while read f; do + if test "x$f" != "x"; then + printf "#include <stdio.h>\nint main(int argc, char *argv[])\n{\n (void) argc; (void) argv;\n printf(\"%%1.5f\\\\n\", (double) (%s));\n return 0;\n}\n" "$f" > "$CTEST.c" + gcc -g -o "$CTEST" "$CTEST.c" + if test $? -eq 0; then + RES1=`$CTEST` + RES2=`$ETEST "$f"` + if test "$RES1" != "$RES2"; then + echo "---------------------------------------------" + echo "RESULT MISMATCH: '$f'" + echo " C test: $RES1" + echo " eval: $RES2" + fi + fi + fi +done +rm -f "$CTEST" "$CTEST.c"