~ubuntu-branches/ubuntu/utopic/nettle/utopic

1.5.1 by Magnus Holmgren
Import upstream version 2.5
1
#! /bin/sh
2
1.5.2 by Magnus Holmgren
Import upstream version 2.6
3
# Copyright (C) 2000, 2001, 2002, 2004, 2005, 2011, 2012  Niels Möller
4
#
5
# This program is free software; you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 2 of the License, or
8
# (at your option) any later version.
9
#
10
# This program is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License along
16
# with this program; if not, write to the Free Software Foundation, Inc.,
17
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
1.5.1 by Magnus Holmgren
Import upstream version 2.5
19
failed=0
20
all=0
21
22
debug='no'
23
testflags=''
24
25
if [ -z "$srcdir" ] ; then
26
  srcdir=`pwd`
27
fi
28
29
export srcdir
30
31
# When used in make rules, we sometimes get the filenames VPATH
1.5.2 by Magnus Holmgren
Import upstream version 2.6
32
# expanded, but usually not.
1.5.1 by Magnus Holmgren
Import upstream version 2.5
33
find_program () {
34
    case "$1" in
35
	*/*)
36
	  echo "$1"
37
	  ;;
38
	*)
39
	  if [ -x "$1" ] ; then
40
	      echo "./$1"
41
	  else
42
	      echo "$srcdir/$1"
43
	  fi
44
	  ;;
45
    esac
46
}
47
48
env_program () {
49
  if [ -x "$1" ] ; then
50
    if "$1"; then : ; else
51
      echo FAIL: $1
52
      exit 1
53
    fi
54
  fi
55
}
56
57
test_program () {
58
  testname=`basename "$1" .exe`
59
  testname=`basename "$testname" -test`
60
  if [ -z "$EMULATOR" ] || head -1 "$1" | grep '^#!' > /dev/null; then
61
    "$1" $testflags
62
  else
1.5.2 by Magnus Holmgren
Import upstream version 2.6
63
    $EMULATOR "$1" $testflags
1.5.1 by Magnus Holmgren
Import upstream version 2.5
64
  fi
65
  case "$?" in
66
      0)
1.5.2 by Magnus Holmgren
Import upstream version 2.6
67
	echo PASS: $testname
1.5.1 by Magnus Holmgren
Import upstream version 2.5
68
	all=`expr $all + 1`
69
	;;
70
      77)
1.5.2 by Magnus Holmgren
Import upstream version 2.6
71
	echo SKIP: $testname
1.5.1 by Magnus Holmgren
Import upstream version 2.5
72
      ;;
73
      *)
1.5.2 by Magnus Holmgren
Import upstream version 2.6
74
	echo FAIL: $testname
1.5.1 by Magnus Holmgren
Import upstream version 2.5
75
	failed=`expr $failed + 1`
76
	all=`expr $all + 1`
77
	;;
78
  esac
79
}
80
81
env_program `find_program setup-env`
82
83
while test $# != 0
84
do
85
  case "$1" in
86
  --debug)
87
    debug=yes
88
    ;;
89
  -v)
90
    testflags='-v'
91
    ;;
92
  -*)
1.5.2 by Magnus Holmgren
Import upstream version 2.6
93
    echo >&2 'Unknown option `'"$1'"
1.5.1 by Magnus Holmgren
Import upstream version 2.5
94
    exit 1
95
    ;;
96
  *)
97
    break
98
    ;;
99
  esac
100
  shift
101
done
1.5.2 by Magnus Holmgren
Import upstream version 2.6
102
1.5.1 by Magnus Holmgren
Import upstream version 2.5
103
if [ $# -eq 0 ] ; then
104
  for f in *-test; do test_program "./$f"; done
105
else
106
  for f in "$@" ; do test_program `find_program "$f"`; done
107
fi
108
109
if [ $failed -eq 0 ] ; then
110
  banner="All $all tests passed"
111
else
112
  banner="$failed of $all tests failed"
113
fi
114
dashes=`echo "$banner" | sed s/./=/g`
115
echo "$dashes"
116
echo "$banner"
117
echo "$dashes"
118
119
if [ "x$debug" = xno ] ; then
120
  env_program `find_program teardown-env`
121
fi
122
123
[ "$failed" -eq 0 ]