aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/pw
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-07-12 09:42:10 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-07-12 09:42:10 +0000
commit67eea76de0bec3f49d29e4be958639d7bc6b4045 (patch)
tree38ae657c0466bd901c280182e8b9e729b0169489 /usr.sbin/pw
parent3a6dcb1fad4ca4a345e71cbd2674a3e648b52e18 (diff)
downloadsrc-67eea76de0bec3f49d29e4be958639d7bc6b4045.tar.gz
src-67eea76de0bec3f49d29e4be958639d7bc6b4045.zip
Add minimum regression tests for pw -R
Notes
Notes: svn path=/head/; revision=285418
Diffstat (limited to 'usr.sbin/pw')
-rwxr-xr-xusr.sbin/pw/tests/helper_functions.shin16
-rwxr-xr-xusr.sbin/pw/tests/pw_useradd.sh16
2 files changed, 31 insertions, 1 deletions
diff --git a/usr.sbin/pw/tests/helper_functions.shin b/usr.sbin/pw/tests/helper_functions.shin
index 3680dfe608eb..1ee731a786ef 100755
--- a/usr.sbin/pw/tests/helper_functions.shin
+++ b/usr.sbin/pw/tests/helper_functions.shin
@@ -2,11 +2,12 @@
# The pw command
PW="pw -V ${HOME}"
+RPW="pw -R ${HOME}"
# Workdir to run tests in
TESTDIR=$(atf_get_srcdir)
-# Populate the files pw needs to use into $HOME/etc
+# Populate the files pw needs to use into $HOME
populate_etc_skel() {
cp ${TESTDIR}/master.passwd ${HOME} || \
atf_fail "Populating master.passwd in ${HOME}"
@@ -16,3 +17,16 @@ populate_etc_skel() {
pwd_mkdb -p -d ${HOME} ${HOME}/master.passwd || \
atf_fail "generate passwd from master.passwd"
}
+
+# Populate the files pw needs to use into $HOME/etc
+populate_root_etc_skel() {
+ mkdir ${HOME}/etc
+ cp ${TESTDIR}/master.passwd ${HOME}/etc || \
+ atf_fail "Populating master.passwd in ${HOME}/etc"
+ cp ${TESTDIR}/group ${HOME}/etc || \
+ atf_fail "Populating group in ${HOME}/etc"
+
+ # Generate the passwd file
+ pwd_mkdb -p -d ${HOME}/etc ${HOME}//etc/master.passwd || \
+ atf_fail "generate passwd from master.passwd"
+}
diff --git a/usr.sbin/pw/tests/pw_useradd.sh b/usr.sbin/pw/tests/pw_useradd.sh
index 469c1e5cde52..8044f88e3664 100755
--- a/usr.sbin/pw/tests/pw_useradd.sh
+++ b/usr.sbin/pw/tests/pw_useradd.sh
@@ -240,6 +240,21 @@ user_add_password_from_h_body() {
EOF
}
+atf_test_case user_add_R
+user_add_R_body() {
+ populate_root_etc_skel
+
+ atf_check -s exit:0 ${RPW} useradd foo
+ mkdir -p ${HOME}/home
+ atf_check -s exit:0 ${RPW} useradd bar -m
+ test -d ${HOME}/home/bar || atf_fail "Directory not created"
+ atf_check -s exit:0 ${RPW} userdel bar
+ test -d ${HOME}/home/bar || atf_fail "Directory removed"
+# atf_check -s exit:0 ${RPW} useradd bar
+# atf_check -s exit:0 ${RPW} userdel bar -r
+# test -d ${HOME}/home/bar && atf_fail "Directory not removed"
+}
+
atf_init_test_cases() {
atf_add_test_case user_add
atf_add_test_case user_add_noupdate
@@ -261,4 +276,5 @@ atf_init_test_cases() {
atf_add_test_case user_add_invalid_user_entry
atf_add_test_case user_add_invalid_group_entry
atf_add_test_case user_add_password_from_h
+ atf_add_test_case user_add_R
}