summaryrefslogtreecommitdiffstats
path: root/pw
diff options
context:
space:
mode:
authorBrad Davis <brd@FreeBSD.org>2014-10-06 00:16:23 +0000
committerBrad Davis <brd@FreeBSD.org>2014-10-06 00:16:23 +0000
commitff6b07bc45e63208fbe7d00351304c4b1183845b (patch)
treea8b072d2c2b596e65df0a5b54f850184296add19 /pw
parent42e7794740f3037d831043846a20a5fce4125631 (diff)
downloadpw-darwin-ff6b07bc45e63208fbe7d00351304c4b1183845b.tar.gz
pw-darwin-ff6b07bc45e63208fbe7d00351304c4b1183845b.tar.zst
pw-darwin-ff6b07bc45e63208fbe7d00351304c4b1183845b.zip
- Add some tests for modifying groups
Reviewed by: will
Diffstat (limited to 'pw')
-rw-r--r--pw/tests/Makefile2
-rwxr-xr-xpw/tests/pw_modify.sh34
2 files changed, 35 insertions, 1 deletions
diff --git a/pw/tests/Makefile b/pw/tests/Makefile
index 577ea93..3003c8f 100644
--- a/pw/tests/Makefile
+++ b/pw/tests/Makefile
@@ -2,7 +2,7 @@
TESTSDIR= ${TESTSBASE}/usr.sbin/pw
-ATF_TESTS_SH= pw_delete
+ATF_TESTS_SH= pw_delete pw_modify
FILES= group helper_functions.shin master.passwd
FILESDIR= ${TESTSDIR}
diff --git a/pw/tests/pw_modify.sh b/pw/tests/pw_modify.sh
new file mode 100755
index 0000000..28a89e1
--- /dev/null
+++ b/pw/tests/pw_modify.sh
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+# Import helper functions
+. $(atf_get_srcdir)/helper_functions.shin
+
+
+# Test adding & removing a user from a group
+atf_test_case groupmod_user
+groupmod_user_body() {
+ populate_etc_skel
+ atf_check -s exit:0 pw -V ${HOME} addgroup test
+ atf_check -s exit:0 pw -V ${HOME} groupmod test -m root
+ atf_check -s exit:0 -o match:"^test:\*:1001:root$" \
+ grep "^test:\*:.*:root$" $HOME/group
+ atf_check -s exit:0 pw -V ${HOME} groupmod test -d root
+ atf_check -s exit:0 -o match:"^test:\*:1001:$" \
+ grep "^test:\*:.*:$" $HOME/group
+}
+
+
+# Test adding and removing a user that does not exist
+atf_test_case groupmod_invalid_user
+groupmod_invalid_user_body() {
+ populate_etc_skel
+ atf_check -s exit:0 pw -V ${HOME} addgroup test
+ atf_check -s exit:67 -e match:"does not exist" pw -V ${HOME} groupmod test -m foo
+ atf_check -s exit:0 pw -V ${HOME} groupmod test -d foo
+}
+
+
+atf_init_test_cases() {
+ atf_add_test_case groupmod_user
+ atf_add_test_case groupmod_invalid_user
+}