Révision 145

pobysoC-4.0/src/test-pobyso-evaluate-constant.sh (revision 145)
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
0 81

  

Formats disponibles : Unified diff