]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
- djm@cvs.openbsd.org 2010/02/24 06:21:56
authorDamien Miller <djm@mindrot.org>
Wed, 24 Feb 2010 06:29:34 +0000 (17:29 +1100)
committerDamien Miller <djm@mindrot.org>
Wed, 24 Feb 2010 06:29:34 +0000 (17:29 +1100)
     [regress/test-exec.sh]
     wait for sshd to fully stop in cleanup() function; avoids races in tests
     that do multiple start_sshd/cleanup cycles; "I hate pidfiles" deraadt@

ChangeLog
regress/test-exec.sh

index 5595fdbbc3771199cb652fc631cc40a5cd9f688e..5c637af1754b4e0812516b776310eb7b5c51a854 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
      [regress/Makefile]
      turn on all the malloc(3) checking options when running regression
      tests. this has caught a few bugs for me in the past; ok dtucker@
+   - djm@cvs.openbsd.org 2010/02/24 06:21:56
+     [regress/test-exec.sh]
+     wait for sshd to fully stop in cleanup() function; avoids races in tests
+     that do multiple start_sshd/cleanup cycles; "I hate pidfiles" deraadt@
 
 20100212
  - (djm) OpenBSD CVS Sync
index 804a296965298be2ae179e7eab9ee41ad974fb03..b3a19389dcf4c19ca306082e315fb3c9748781e3 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: test-exec.sh,v 1.36 2009/10/08 18:04:27 markus Exp $
+#      $OpenBSD: test-exec.sh,v 1.37 2010/02/24 06:21:56 djm Exp $
 #      Placed in the Public Domain.
 
 #SUDO=sudo
@@ -172,9 +172,17 @@ cleanup ()
                        echo no sshd running
                else
                        if [ $pid -lt 2 ]; then
-                               echo bad pid for ssd: $pid
+                               echo bad pid for ssh: $pid
                        else
                                $SUDO kill $pid
+                               trace "wait for sshd to exit"
+                               i=0;
+                               while [ -f $PIDFILE -a $i -lt 5 ]; do
+                                       i=`expr $i + 1`
+                                       sleep $i
+                               done
+                               test -f $PIDFILE && \
+                                   fatal "sshd didn't exit port $PORT pid $pid"
                        fi
                fi
        fi