summaryrefslogtreecommitdiffstats
path: root/pw/tests
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
commit36810b94302ed35424caa32ae205ee0f1d4f7185 (patch)
treec9717ac824b79c87ac0295c7654bbf0ae9b49b50 /pw/tests
parentdda50e62a030ac93fd85476aa0e75f27fa9c47eb (diff)
downloadpw-darwin-36810b94302ed35424caa32ae205ee0f1d4f7185.tar.gz
pw-darwin-36810b94302ed35424caa32ae205ee0f1d4f7185.tar.zst
pw-darwin-36810b94302ed35424caa32ae205ee0f1d4f7185.zip
Add minimum regression tests for pw -R
Diffstat (limited to 'pw/tests')
-rwxr-xr-xpw/tests/helper_functions.shin16
-rwxr-xr-xpw/tests/pw_useradd.sh16
2 files changed, 31 insertions, 1 deletions
diff --git a/pw/tests/helper_functions.shin b/pw/tests/helper_functions.shin
index 3680dfe..1ee731a 100755
--- a/pw/tests/helper_functions.shin
+++ b/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/pw/tests/pw_useradd.sh b/pw/tests/pw_useradd.sh
index 469c1e5..8044f88 100755
--- a/pw/tests/pw_useradd.sh
+++ b/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
}