summaryrefslogtreecommitdiffstats
path: root/debian/tests/run-upstream-testsuite
blob: d59c898a6956c4be2967f0402fddab0c85e5254b (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
#! /bin/sh

set -e

export srcdir=`pwd`/tests
export builddir=`pwd`/nonexist-builddir
PKGTDIR=`pwd`/b4deb/pkgtest

rm -rf "$PKGTDIR"
mkdir -p "$PKGTDIR" "$PKGTDIR/top_builddir/tests"
export top_builddir="$PKGTDIR/top_builddir"

printandrun()
{
	echo "$@"
	"$@"
}

printandrun \
	gcc \
       `env DEB_BUILD_MAINT_OPTIONS="hardening=+bindnow" dpkg-buildflags --get CPPFLAGS` \
       `env DEB_BUILD_MAINT_OPTIONS="hardening=+bindnow" dpkg-buildflags --get CFLAGS` \
       `env DEB_BUILD_MAINT_OPTIONS="hardening=+bindnow" dpkg-buildflags --get LDFLAGS` \
       -o ${top_builddir}/tests/datefudge-check tests/datefudge-check.c

cd "$PKGTDIR"

export  CLI=/usr/bin/gnutls-cli \
	SERV=/usr/bin/gnutls-serv \
	CERTTOOL=/usr/bin/certtool P11TOOL=/usr/bin/p11tool \
	PSKTOOL=/usr/bin/psktool DANETOOL=/usr/bin/danetool \
	DCLI=/usr/bin/gnutls-cli-debug \
	OCSPTOOL=/usr/bin/ocsptool \
	ENABLE_GOST=1 \
	PKCS12_ITER_COUNT=600000

# Set the sizeof(time_t) to the correct value for the platform, to ensure we
# run the correct tests.
if test -z "${ac_cv_sizeof_time_t}"; then
	if [ "$(date  --date=@2147483648 +%Y 2>/dev/null)" = "2038" ]; then
		export ac_cv_sizeof_time_t=8
	else
		export ac_cv_sizeof_time_t=4
	fi
fi

count=1
for i in $(find ../../tests/ -type f -perm -u+rx | \
	grep -Ev 'tests/gnutls-cli-debug.sh|tests/system-override-hash.sh|tests/pkgconfig.sh|tests/system-override-sig.sh|tests/system-override-sig-allowlist.sh|tests/system-override-sig-tls.sh|tests/tls13/prf-early.sh|tests/dtls/dtls.sh|tests/dtls/dtls-resume.sh|tests/cert-tests/tolerate-invalid-time.sh|tests/slow/|tests/protocol-set-allowlist.sh|tests/system-override-hash-allowlist.sh|tests/system-override-curves-allowlist.sh|tests/ktls.sh' \
	| env LC_COLLATE=C.UTF-8 sort) ; do
	echo "running [$count]$i ..."
	case $(dirname $i) in
		*/tests/suite)
			d=suite;;
		*/tests/cert-tests)
			d=cert-tests;;
		*/tests/slow)
			d=slow;;
		*)
			d="";;
	esac
	if env srcdir=../../tests/$d $i ; then
		echo SUCCESS [$count]$i
	else
		if [ $? = 77 ] ; then
			echo SKIPPED [$count]$i
		else
			echo FAIL [$count]$i
			false
		fi
	fi
	count=$((${count}+1))
done