echo "$DELAYATTR" >> $SEARCHOUT
DELAY=`echo "$DELAYATTR" | sed -n -e 's/.*seconds_before_unlock=\(\d*\)/\1/p'`
-echo "Waiting $DELAY seconds for lockout to reset..."
-sleep $DELAY
-sleep 1
+# $DELAY is empty if we were so slow that the lockout expired already,
+# continue test but the next part might fail anyway since we rely on
+# cumulative timing
+if test -n "$DELAY" ; then
+ echo "Waiting $DELAY seconds for lockout to reset..."
+ sleep $DELAY
+ sleep 1
+fi
$LDAPSEARCH -e ppolicy -H $URI1 -D "$USER" -w $PASS \
-b "$BASEDN" -s base >> $SEARCHOUT 2>&1
DELAY=`echo "$DELAYATTR" | sed -n -e 's/.*expire=\(\d*\)/\1/p'`
echo "Testing password expiration"
-echo "Waiting $DELAY seconds for password to expire..."
-sleep $DELAY
-sleep 1
+# $DELAY is empty if we were so slow that the password expired already
+if test -n "$DELAY" ; then
+ echo "Waiting $DELAY seconds for password to expire..."
+ sleep $DELAY
+ sleep 1
+fi
$LDAPSEARCH -e ppolicy -H $URI1 -D "$USER" -w $PASS \
-b "$BASEDN" -s base > $SEARCHOUT 2>&1
DELAY=`expr $DELAY - 10`
echo "Testing password expiration"
-echo "Waiting $DELAY seconds for password to expire..."
-sleep $DELAY
+# $DELAY is empty if we were so slow that the password expired already
+if test -n "$DELAY" ; then
+ echo "Waiting $DELAY seconds for password to expire..."
+ sleep $DELAY
+ sleep 1
+fi
$LDAPSEARCH -H $URI1 -D "$USER" -w $PASS \
-b "$BASEDN" -s base > $SEARCHOUT 2>&1