summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pw
diff options
context:
space:
mode:
authorbrd <brd@FreeBSD.org>2015-02-24 22:22:06 +0000
committerbrd <brd@FreeBSD.org>2015-02-24 22:22:06 +0000
commitc7fee6c3047ed11ce81121276b83f3f8804a50eb (patch)
treee3d7a63dfc3fcb0b4997a4cb0bc8a215a7003aea /usr.sbin/pw
parentfb45b18a632431fb6067cb119924327d6aaf2783 (diff)
downloadFreeBSD-src-c7fee6c3047ed11ce81121276b83f3f8804a50eb.zip
FreeBSD-src-c7fee6c3047ed11ce81121276b83f3f8804a50eb.tar.gz
Fix a race condition by allowing up to 5 seconds of difference between the time stamps.
PR: 197861 Approved by: will
Diffstat (limited to 'usr.sbin/pw')
-rwxr-xr-xusr.sbin/pw/tests/pw_useradd.sh12
1 files changed, 8 insertions, 4 deletions
diff --git a/usr.sbin/pw/tests/pw_useradd.sh b/usr.sbin/pw/tests/pw_useradd.sh
index 1934bbc..48612ed 100755
--- a/usr.sbin/pw/tests/pw_useradd.sh
+++ b/usr.sbin/pw/tests/pw_useradd.sh
@@ -114,9 +114,11 @@ user_add_account_expiration_date_relative_body() {
populate_etc_skel
EPOCH=`date -j -v+13m "+%s"`
+ BUF=`expr $EPOCH + 5`
atf_check -s exit:0 ${PW} useradd test -e +13o
- atf_check -s exit:0 -o match:"^test:\*:.*::0:${EPOCH}:User &:.*" \
- ${PW} usershow test
+ TIME=`${PW} usershow test | awk -F ':' '{print $7}'`
+ [ ! -z $TIME -a $TIME -ge $EPOCH -a $TIME -lt $BUF ] || \
+ atf_fail "Expiration time($TIME) was not within $EPOCH - $BUF seconds."
}
# Test add user with password expiration as an epoch date
@@ -160,9 +162,11 @@ user_add_password_expiration_date_relative_body() {
populate_etc_skel
EPOCH=`date -j -v+13m "+%s"`
+ BUF=`expr $EPOCH + 5`
atf_check -s exit:0 ${PW} useradd test -p +13o
- atf_check -s exit:0 -o match:"^test:\*:.*::${EPOCH}:0:User &:.*" \
- ${PW} usershow test
+ TIME=`${PW} usershow test | awk -F ':' '{print $6}'`
+ [ ! -z $TIME -a $TIME -ge $EPOCH -a $TIME -lt $BUF ] || \
+ atf_fail "Expiration time($TIME) was not within $EPOCH - $BUF seconds."
}
atf_init_test_cases() {
OpenPOWER on IntegriCloud