blob: c6113584dbca8d10ff99335e3e4d909cc726aa1d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
#! /bin/bash
scriptdir=$(dirname $0)
. "$scriptdir/travis-utils.sh"
. "$scriptdir/../ansi_color.sh"
disable_color
echo "$0" "$@"
# Stop in case of error
set -e
export ISGPL=false
# Transform long options to short ones
for arg in "$@"; do
shift
case "$arg" in
"--color"|"-color") set -- "$@" "-c";;
"--gpl"|"-gpl") set -- "$@" "-g";;
*) set -- "$@" "$arg"
esac
done
# Parse args
while getopts ":b:p:cg" opt; do
case $opt in
c) enable_color;;
g) ISGPL=true;;
\?) printf "$ANSI_RED[GHDL - test] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2
exit 1 ;;
:) printf "$ANSI_RED[GHDL - test] Option -$OPTARG requires an argument. $ANSI_NOCOLOR\n" >&2
exit 1 ;;
esac
done
rm -f test_ok
export ENABLECOLOR
if [ "$GHDL" = "" ]; then
export GHDL="$prefix/bin/ghdl"
fi
cd testsuite
failures=""
echo "travis_fold:start:tests.sanity"
travis_time_start
printf "$ANSI_YELLOW[GHDL - test] sanity $ANSI_NOCOLOR\n"
cd sanity
for d in [0-9]*; do
cd $d
if ./testsuite.sh > test.log 2>&1 ; then
echo "sanity $d: ok"
# Don't disp log
else
echo "${ANSI_RED}sanity $d: failed${ANSI_NOCOLOR}"
cat test.log
failures="$failures $d"
fi
cd ..
# Stop at the first failure
[ "$failures" = "" ] || break
done
cd ..
travis_time_finish
echo "travis_fold:end:tests.sanity"
[ "$failures" = "" ] || exit 1
if [ "$ISGPL" != "true" ]; then
echo "travis_fold:start:tests.gna"
travis_time_start
printf "$ANSI_YELLOW[GHDL - test] gna $ANSI_NOCOLOR\n"
cd gna
dirs=`./testsuite.sh --list-tests`
for d in $dirs; do
cd $d
if ./testsuite.sh > test.log 2>&1 ; then
echo "gna $d: ok"
# Don't disp log
else
echo "${ANSI_RED}gna $d: failed${ANSI_NOCOLOR}"
cat test.log
failures="$failures $d"
fi
cd ..
# Stop at the first failure
[ "$failures" = "" ] || break
done
cd ..
travis_time_finish
echo "travis_fold:end:tests.gna"
[ "$failures" = "" ] || exit 1
fi
echo "travis_fold:start:tests.vests"
travis_time_start
printf "$ANSI_YELLOW[GHDL - test] vests $ANSI_NOCOLOR\n"
cd vests
if ./testsuite.sh > vests.log 2>&1 ; then
echo "${ANSI_GREEN}Vests is OK$ANSI_NOCOLOR"
wc -l vests.log
else
cat vests.log
echo "${ANSI_RED}Vests failure$ANSI_NOCOLOR"
failures=vests
fi
cd ..
travis_time_finish
echo "travis_fold:end:tests.vests"
[ "$failures" = "" ] || exit 1
$GHDL --version
cd ..
#---
echo "[SUCCESSFUL]"
touch test_ok
|