summaryrefslogtreecommitdiffstats
path: root/regress/agent-subprocess.sh
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2020-06-19 07:07:09 +0200
committerDarren Tucker <dtucker@dtucker.net>2020-06-19 08:06:53 +0200
commit5dba1fcabacaab46693338ec829b42a1293d1f52 (patch)
tree8e292787efa12bfe9b36298bb9c35e6c5568a453 /regress/agent-subprocess.sh
parentupstream: run sshsig unit tests (diff)
downloadopenssh-5dba1fcabacaab46693338ec829b42a1293d1f52.tar.xz
openssh-5dba1fcabacaab46693338ec829b42a1293d1f52.zip
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
Diffstat (limited to '')
-rw-r--r--regress/agent-subprocess.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/regress/agent-subprocess.sh b/regress/agent-subprocess.sh
new file mode 100644
index 000000000..2f36d70cc
--- /dev/null
+++ b/regress/agent-subprocess.sh
@@ -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