summaryrefslogtreecommitdiffstats
path: root/tests/dnstap/src/dnstap-test/run.sh
blob: 2f32ea1877d62738b5ccd1bc9607a884f23e398b (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
#!/bin/bash
set -e
KRESD_CMD=$1
MESON_BUILD_ROOT=$(pwd)
mkdir -p tests/dnstap
export GOPATH=$MESON_BUILD_ROOT/tests/dnstap
cd "$(dirname $0)"
DNSTAP_TEST=dnstap-test

if [ -z "$GITLAB_CI" ]; then
	type -P go >/dev/null || exit 77
	echo "Building the dnstap test and its dependencies..."
	# some packages may be missing on the system right now
	go get github.com/{FiloSottile/gvt,cloudflare/dns,dnstap/golang-dnstap,golang/protobuf/proto}
else
	# In CI we've prebuilt dependencies into the default GOPATH.
	# We're in a scratch container, so we just add the dnstap test inside.
	export GOPATH=/root/go
fi
DTAP=$GOPATH/src/$DNSTAP_TEST
rm -f $DTAP && ln -s $(realpath ..)/$DNSTAP_TEST $DTAP
go install $DNSTAP_TEST


CONFIG=$(realpath ./config)
ZONES="fake1.localdomain,fake2.localdomain,fake3.localdomain"
TIMEOUT=60s
GRACE=5s
cd $MESON_BUILD_ROOT/tests/dnstap # don't leave stuff like *.mdb in ./.
$GOPATH/bin/$DNSTAP_TEST -c $CONFIG -cmd $KRESD_CMD -q $ZONES -t $TIMEOUT -g $GRACE -d