upstream: Test that ssh-agent exits when running as as subprocess

of a specified command (ie "ssh-agent command").  Would have caught bz#3181.

OpenBSD-Regress-ID: 895b4765ba5153eefaea3160a7fe08ac0b6db8b3
This commit is contained in:
dtucker@openbsd.org 2020-06-19 05:07:09 +00:00 committed by Darren Tucker
parent 68e8294f6b
commit 5dba1fcaba
2 changed files with 24 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.108 2020/04/20 04:44:47 djm Exp $
# $OpenBSD: Makefile,v 1.109 2020/06/19 05:07:09 dtucker Exp $
tests: prep file-tests t-exec unit
@ -41,6 +41,7 @@ LTESTS= connect \
agent-getpeereid \
agent-timeout \
agent-ptrace \
agent-subprocess \
keyscan \
keygen-change \
keygen-convert \

View File

@ -0,0 +1,22 @@
# $OpenBSD: agent-subprocess.sh,v 1.1 2020/06/19 05:07:09 dtucker Exp $
# Placed in the Public Domain.
tid="agent subprocess"
trace "ensure agent exits when run as subprocess"
${SSHAGENT} sh -c "echo \$SSH_AGENT_PID >$OBJ/pidfile; sleep 1"
pid=`cat $OBJ/pidfile`
# Currently ssh-agent polls every 10s so we need to wait at least that long.
n=12
while kill -0 $pid >/dev/null 2>&1 && test "$n" -gt "0"; do
n=$(($n - 1))
sleep 1
done
if test "$n" -eq "0"; then
fail "agent still running"
fi
rm -f $OBJ/pidfile