Statistiques
| Révision :

root / pobysoC-4.0 / src / test-pobyso-evaluate-constant.sh @ 145

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