root / pobysoC-4.0 / src / test-pobyso-evaluate-constant.sh
Historique | Voir | Annoter | Télécharger (1,45 ko)
1 |
#! /bin/sh |
---|---|
2 |
# |
3 |
# |
4 |
TEST_BIN=./test-pobyso-evaluate-constant |
5 |
POBYSO_UNFAITHFUL=129 |
6 |
POBYSO_NAN=130 |
7 |
|
8 |
echo |
9 |
## Functions |
10 |
ok_if_fail() { |
11 |
echo "$@" |
12 |
eval "$TEST_BIN $ARGUMENTS" |
13 |
if [ $? -eq 0 ] ; then |
14 |
echo "Succeeded (but should not have) for $ARGUMENTS" |
15 |
exit 1 |
16 |
fi |
17 |
echo "Correctly failing$WHY." |
18 |
echo |
19 |
} # End ok_if_fail |
20 |
# |
21 |
## |
22 |
ok_if_ok() { |
23 |
echo "$@" |
24 |
eval "$TEST_BIN $ARGUMENTS" |
25 |
OUTCOME=$? |
26 |
if [ $OUTCOME -ne 0 ] ; then |
27 |
if [ $OUTCOME -eq $POBYSO_UNFAITHFUL ] ; then |
28 |
echo "Result is unfaithfull for $ARGUMENTS" |
29 |
echo |
30 |
return 0 |
31 |
fi |
32 |
if [ $OUTCOME -eq $POBYSO_NAN ] ; then |
33 |
echo "Result is NaN for $ARGUMENTS" |
34 |
echo |
35 |
return 0 |
36 |
fi |
37 |
echo "Failed for $ARGUMENTS" |
38 |
echo |
39 |
exit 1 |
40 |
fi |
41 |
echo |
42 |
} # End ok_if_ok |
43 |
## |
44 |
ARGUMENTS="NULL" |
45 |
WHY=" (NULL argument)" |
46 |
ok_if_fail "Testing: $ARGUMENTS" |
47 |
|
48 |
## |
49 |
ARGUMENTS="\"1/x+\" \"3\"" |
50 |
WHY=" (because \"1/x+\" is not a valid expression)" |
51 |
ok_if_fail "Testing: $ARGUMENTS" |
52 |
|
53 |
## |
54 |
ARGUMENTS="\"1/x\" \"3+\"" |
55 |
WHY=" (because \"3+\" is not a constant)" |
56 |
ok_if_fail "Testing: $ARGUMENTS" |
57 |
|
58 |
## |
59 |
ARGUMENTS="\"1/x\" \"+infty\"" |
60 |
ok_if_ok "Testing: $ARGUMENTS" |
61 |
|
62 |
## |
63 |
ARGUMENTS="\"1/x\" \"+infty\"" |
64 |
ok_if_ok "Testing: $ARGUMENTS" |
65 |
|
66 |
ARGUMENTS="\"1/x\" \"0\"" |
67 |
WHY=" (because the result is Nan)" |
68 |
ok_if_ok "Testing: $ARGUMENTS" |
69 |
|
70 |
ARGUMENTS="\"2*x\" \"4\"" |
71 |
WHY=" (because the result is Nan)" |
72 |
ok_if_ok "Testing: $ARGUMENTS" |
73 |
|
74 |
ARGUMENTS="\"sin(x)\" \"pi/2\"" |
75 |
WHY=" (because the result is Nan)" |
76 |
ok_if_ok "Testing: $ARGUMENTS" |
77 |
|
78 |
## |
79 |
echo "Tests terminated without error." |
80 |
echo |