summaryrefslogtreecommitdiffstats
path: root/pw
diff options
context:
space:
mode:
authorBrad Davis <brd@FreeBSD.org>2014-12-09 20:36:07 +0000
committerBrad Davis <brd@FreeBSD.org>2014-12-09 20:36:07 +0000
commitc3f6155386bf3365788c093a31a818fbc3af8e6a (patch)
treee782f308e4dfa11cef487a2985a7c5d081b2c43d /pw
parent3c4d003bd9239f5eade1669137bc1f8db01c6842 (diff)
downloadpw-darwin-c3f6155386bf3365788c093a31a818fbc3af8e6a.tar.gz
pw-darwin-c3f6155386bf3365788c093a31a818fbc3af8e6a.tar.zst
pw-darwin-c3f6155386bf3365788c093a31a818fbc3af8e6a.zip
Add more tests for pw(8) useradd.
PR: 195832 Submitted by: Robert O'Neil <oneil.rs@gmail.com> Approved by: will
Diffstat (limited to 'pw')
-rw-r--r--pw/tests/Makefile3
-rwxr-xr-xpw/tests/pw_add.sh40
2 files changed, 42 insertions, 1 deletions
diff --git a/pw/tests/Makefile b/pw/tests/Makefile
index 6bc9433..aa774ef 100644
--- a/pw/tests/Makefile
+++ b/pw/tests/Makefile
@@ -5,8 +5,9 @@ TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.sbin/useradd
TESTSDIR= ${TESTSBASE}/usr.sbin/pw
-ATF_TESTS_SH= pw_delete pw_lock pw_modify pw_etcdir
+ATF_TESTS_SH= pw_add pw_delete pw_etcdir pw_lock pw_modify
+TEST_METADATA.pw_add+= required_user="root"
TEST_METADATA.pw_delete+= required_user="root"
TEST_METADATA.pw_modify+= required_user="root"
diff --git a/pw/tests/pw_add.sh b/pw/tests/pw_add.sh
new file mode 100755
index 0000000..fb2e33f
--- /dev/null
+++ b/pw/tests/pw_add.sh
@@ -0,0 +1,40 @@
+# $FreeBSD$
+
+# Import helper functions
+. $(atf_get_srcdir)/helper_functions.shin
+
+# Test add user
+atf_test_case user_add
+user_add_body() {
+ populate_etc_skel
+
+ atf_check -s exit:0 ${PW} useradd test
+ atf_check -s exit:0 -o match:"^test:.*" \
+ grep "^test:.*" $HOME/master.passwd
+}
+
+
+atf_test_case user_add_comments
+user_add_comments_body() {
+ populate_etc_skel
+
+ atf_check -s exit:0 ${PW} useradd test -c "Test User,work,123,456"
+ atf_check -s exit:0 -o match:"^test:.*:Test User,work,123,456:" \
+ grep "^test:.*:Test User,work,123,456:" $HOME/master.passwd
+}
+
+atf_test_case user_add_comments_invalid
+user_add_comments_invalid_body() {
+ populate_etc_skel
+
+ atf_check -s exit:65 -e match:"invalid character" \
+ ${PW} useradd test -c "Test User,work,123:456,456"
+ atf_check -s exit:1 -o empty \
+ grep "^test:.*:Test User,work,123:456,456:" $HOME/master.passwd
+}
+
+atf_init_test_cases() {
+ atf_add_test_case user_add
+ atf_add_test_case user_add_comments
+ atf_add_test_case user_add_comments_invalid
+}