diff options
author | brd <brd@FreeBSD.org> | 2015-02-24 22:22:06 +0000 |
---|---|---|
committer | brd <brd@FreeBSD.org> | 2015-02-24 22:22:06 +0000 |
commit | c7fee6c3047ed11ce81121276b83f3f8804a50eb (patch) | |
tree | e3d7a63dfc3fcb0b4997a4cb0bc8a215a7003aea /usr.sbin/pw | |
parent | fb45b18a632431fb6067cb119924327d6aaf2783 (diff) | |
download | FreeBSD-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-x | usr.sbin/pw/tests/pw_useradd.sh | 12 |
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() { |