summaryrefslogtreecommitdiffstats
path: root/pw
diff options
context:
space:
mode:
Diffstat (limited to 'pw')
-rw-r--r--pw/tests/Makefile2
-rwxr-xr-xpw/tests/pw_lock.sh22
2 files changed, 23 insertions, 1 deletions
diff --git a/pw/tests/Makefile b/pw/tests/Makefile
index 0391d1f..6bc9433 100644
--- a/pw/tests/Makefile
+++ b/pw/tests/Makefile
@@ -5,7 +5,7 @@ TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.sbin/useradd
TESTSDIR= ${TESTSBASE}/usr.sbin/pw
-ATF_TESTS_SH= pw_delete pw_modify pw_etcdir
+ATF_TESTS_SH= pw_delete pw_lock pw_modify pw_etcdir
TEST_METADATA.pw_delete+= required_user="root"
TEST_METADATA.pw_modify+= required_user="root"
diff --git a/pw/tests/pw_lock.sh b/pw/tests/pw_lock.sh
new file mode 100755
index 0000000..070a6f9
--- /dev/null
+++ b/pw/tests/pw_lock.sh
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+# Import helper functions
+. $(atf_get_srcdir)/helper_functions.shin
+
+# Test locking and unlocking a user account
+atf_test_case user_locking cleanup
+user_locking_body() {
+ populate_etc_skel
+ pw -V ${HOME} useradd test || atf_fail "Creating test user"
+ pw -V ${HOME} lock test || atf_fail "Locking the user"
+ atf_check -s exit:0 -o match:"^test:\*LOCKED\*\*:1001:" \
+ grep "^test:\*LOCKED\*\*:1001:" $HOME/master.passwd
+ pw -V ${HOME} unlock test || atf_fail "Locking the user"
+ atf_check -s exit:0 -o match:"^test:\*:1001:" \
+ grep "^test:\*:1001:" $HOME/master.passwd
+}
+
+
+atf_init_test_cases() {
+ atf_add_test_case user_locking
+}