aboutsummaryrefslogtreecommitdiff
path: root/testdata/tcp_idle_timeout.tdir/tcp_idle_timeout.test
blob: 2ae8c4fa8d2e5df32ba53bc0c4a8d507df2f1d9f (plain) (blame)
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
# #-- tcp_idle_timeout.test --#
# source the master var file when it's there
[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
# use .tpkg.var.test for in test variable passing
[ -f .tpkg.var.test ] && source .tpkg.var.test


# Run up unbound with a 2s idle timeout. Try a normal TCP query, check it works, and then check that a connection with a 4s send delay fails.


if uname | grep MINGW >/dev/null; then
	echo "no job control in shell on windows. end test"
	exit 0
fi

PRE="../.."
. ../common.sh
get_make
(cd $PRE; $MAKE streamtcp)

# first test a single TCP query with no delay.
echo "> query www.example.com."
$PRE/streamtcp -f 127.0.0.1@$UNBOUND_PORT www.example.com. A IN >outfile 2>&1
if test "$?" -ne 0; then
	echo "exit status not OK"
	echo "> cat logfiles"
	cat outfile
	cat fwd.log 
	cat unbound.log
	echo "Not OK"
	exit 1
else
	echo "exit status OK"
fi
echo "> cat logfiles"
cat outfile
cat fwd.log 
cat unbound.log
echo "> check answer"
if grep "10.20.30.40" outfile; then
	echo "OK"
else
	echo "Not OK"
	exit 1
fi

# now test query with delay should fail.
echo "> query www.example.com."
$PRE/streamtcp -d 4 -f 127.0.0.1@$UNBOUND_PORT www.example.com. A IN >outfile 2>&1
if test "$?" -eq 0; then
	echo "exit status OK"
	echo "> cat logfiles"
	cat outfile
	cat fwd.log 
	cat unbound.log
	echo "Not OK"
	exit 1
else
	echo "exit status not OK"
fi
echo "> cat logfiles"
cat outfile
cat fwd.log 
cat unbound.log
echo "OK"

exit 0