From 646d0c1ba25bd48865f3a07000114ba2e7b07db7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Thu, 3 Mar 2022 11:00:00 +0000 Subject: [PATCH] ITS#9497 Detect timing issues when they affect test --- tests/scripts/test022-ppolicy | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/tests/scripts/test022-ppolicy b/tests/scripts/test022-ppolicy index 7ed9c7683a..322b22a799 100755 --- a/tests/scripts/test022-ppolicy +++ b/tests/scripts/test022-ppolicy @@ -107,9 +107,14 @@ DELAYATTR=`$LDAPSEARCH -D "$MANAGERDN" -H $URI1 -w $PASSWD -b "$USER" -E account 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 @@ -125,9 +130,12 @@ echo "$DELAYATTR" >> $SEARCHOUT 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 @@ -803,8 +811,12 @@ DELAY=`echo "$DELAYATTR" | sed -n -e 's/.*expire=\(\d*\)/\1/p'` 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 -- 2.47.3