]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Test that ssh-agent exits when running as as subprocess
authordtucker@openbsd.org <dtucker@openbsd.org>
Fri, 19 Jun 2020 05:07:09 +0000 (05:07 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 19 Jun 2020 06:06:53 +0000 (16:06 +1000)
of a specified command (ie "ssh-agent command").  Would have caught bz#3181.

OpenBSD-Regress-ID: 895b4765ba5153eefaea3160a7fe08ac0b6db8b3

regress/Makefile
regress/agent-subprocess.sh [new file with mode: 0644]

index 62794d25fc421ffe67062a10394207968f6aa58f..db0268fc07a16f38dfe02739050abd2ed752fac0 100644 (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 \
diff --git a/regress/agent-subprocess.sh b/regress/agent-subprocess.sh
new file mode 100644 (file)
index 0000000..2f36d70
--- /dev/null
@@ -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