Mercurial > hg > dmlib
annotate tests/testeval.sh @ 1315:7687412f9aef
Fix jssmod sample conversion flags storing .. urgh.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 20 Aug 2017 01:54:54 +0300 |
parents | a20f127e6e1b |
children |
rev | line source |
---|---|
689 | 1 #!/bin/sh |
715
a20f127e6e1b
Fix path to evaltest binary.
Matti Hamalainen <ccr@tnsp.org>
parents:
713
diff
changeset
|
2 ETEST="./evaltest -f -e" |
689 | 3 CTEST=./frm |
4 | |
5 echo " | |
695 | 6 2 << 1 + 9 >> 3 * 5 |
7 (2 << 1 + 9) >> 3 * 5 | |
8 2 << 1 + 31 >> 3 * 5 | |
689 | 9 5 << 1 |
10 8 << 3 * 5 | |
11 3200/2 << 5 | |
12 3200/(2 << 5) | |
13 15+5/3 | |
14 (15+5)/3 | |
15 5*-3 | |
16 -64 + 5 << 3 * 3 - 1 | |
17 -64 + 5 << 3 + 3 - 1 | |
18 3 * -1 + 5 << 1 | |
19 7 + 3 << 2 * 3 | |
20 7 * 3 << 4 - 3 | |
692 | 21 127&127 + 12&3 |
22 1+3*5&7 | |
23 35&3 + 2 | |
24 9+5&(3 + 7) | |
25 (5*(7&3) + 1) | |
706 | 26 123045 >> 1 & 60 |
712 | 27 ~60 |
28 3 + ~5 | |
29 -~128 | |
30 5-~127 | |
689 | 31 " | while read f; do |
32 if test "x$f" != "x"; then | |
33 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" | |
34 gcc -g -o "$CTEST" "$CTEST.c" | |
35 if test $? -eq 0; then | |
36 RES1=`$CTEST` | |
37 RES2=`$ETEST "$f"` | |
38 if test "$RES1" != "$RES2"; then | |
39 echo "---------------------------------------------" | |
40 echo "RESULT MISMATCH: '$f'" | |
41 echo " C test: $RES1" | |
42 echo " eval: $RES2" | |
692 | 43 cat "$CTEST.c" |
44 elif test "x$1" != "x"; then | |
45 echo "---------------------------------------------" | |
46 echo "FORMULA: '$f'" | |
47 echo " C test: $RES1" | |
48 echo " eval: $RES2" | |
689 | 49 fi |
50 fi | |
51 fi | |
52 done | |
713
80c3e69aa301
Don't remove the test source/binary files.
Matti Hamalainen <ccr@tnsp.org>
parents:
712
diff
changeset
|
53 #rm -f "$CTEST" "$CTEST.c" |