1295367Sdes#	$OpenBSD: agent-timeout.sh,v 1.3 2015/03/03 22:35:19 markus Exp $
2113908Sdes#	Placed in the Public Domain.
3113908Sdes
4113908Sdestid="agent timeout test"
5113908Sdes
6124208SdesSSHAGENT_TIMEOUT=10
7113908Sdes
8113908Sdestrace "start agent"
9113908Sdeseval `${SSHAGENT} -s` > /dev/null
10113908Sdesr=$?
11113908Sdesif [ $r -ne 0 ]; then
12113908Sdes	fail "could not start ssh-agent: exit code $r"
13113908Sdeselse
14113908Sdes	trace "add keys with timeout"
15295367Sdes	for t in ${SSH_KEYTYPES}; do
16124208Sdes		${SSHADD} -t ${SSHAGENT_TIMEOUT} $OBJ/$t > /dev/null 2>&1
17113908Sdes		if [ $? -ne 0 ]; then
18113908Sdes			fail "ssh-add did succeed exit code 0"
19113908Sdes		fi
20113908Sdes	done
21113908Sdes	n=`${SSHADD} -l 2> /dev/null | wc -l`
22113908Sdes	trace "agent has $n keys"
23113908Sdes	if [ $n -ne 2 ]; then
24113908Sdes		fail "ssh-add -l did not return 2 keys: $n"
25113908Sdes	fi
26124208Sdes	trace "sleeping 2*${SSHAGENT_TIMEOUT} seconds"
27124208Sdes	sleep ${SSHAGENT_TIMEOUT}
28124208Sdes	sleep ${SSHAGENT_TIMEOUT}
29124208Sdes	${SSHADD} -l 2> /dev/null | grep 'The agent has no identities.' >/dev/null
30113908Sdes	if [ $? -ne 0 ]; then
31113908Sdes		fail "ssh-add -l still returns keys after timeout"
32113908Sdes	fi
33113908Sdes
34113908Sdes	trace "kill agent"
35113908Sdes	${SSHAGENT} -k > /dev/null
36113908Sdesfi
37