Index: head/usr.sbin/pw/tests/pw_add.sh =================================================================== --- head/usr.sbin/pw/tests/pw_add.sh (revision 275655) +++ head/usr.sbin/pw/tests/pw_add.sh (nonexistent) @@ -1,40 +0,0 @@ -# $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 -} Property changes on: head/usr.sbin/pw/tests/pw_add.sh ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/usr.sbin/pw/tests/pw_delete.sh =================================================================== --- head/usr.sbin/pw/tests/pw_delete.sh (revision 275655) +++ head/usr.sbin/pw/tests/pw_delete.sh (nonexistent) @@ -1,47 +0,0 @@ -# $FreeBSD$ - -# Import helper functions -. $(atf_get_srcdir)/helper_functions.shin - -# Test that a user can be deleted when another user is part of this -# user's default group and does not go into an infinate loop. -# PR: 191427 -atf_test_case rmuser_seperate_group cleanup -rmuser_seperate_group_head() { - atf_set "timeout" "30" -} -rmuser_seperate_group_body() { - populate_etc_skel - ${PW} useradd test || atf_fail "Creating test user" - ${PW} groupmod test -M 'test,root' || \ - atf_fail "Modifying the group" - ${PW} userdel test || atf_fail "Delete the test user" -} - -atf_test_case group_do_not_delete_wheel_if_group_unknown -group_do_not_delete_wheel_if_group_unknown_head() { - atf_set "descr" "Make sure we do not consider gid 0 an unknown group" -} - -group_do_not_delete_wheel_if_group_unknown_body() { - populate_etc_skel - atf_check -s exit:0 -o inline:"wheel:*:0:root\n" -x ${PW} groupshow wheel - atf_check -e inline:"pw: -g expects a number\n" -s exit:64 -x ${PW} groupdel -g I_do_not_exist - atf_check -s exit:0 -o inline:"wheel:*:0:root\n" -x ${PW} groupshow wheel -} - -atf_test_case user_do_not_try_to_delete_root_if_user_unknown -user_do_not_try_to_delete_root_if_user_unknown_head() { - atf_set "descr" "Make sure not to try to remove root if deleting an unknown user" -} - -user_do_not_try_to_delete_root_if_user_unknown_body() { - populate_etc_skel - atf_check -e inline:"pw: -u expects a number\n" -s exit:64 -x ${PW} userdel -u plop -} - -atf_init_test_cases() { - atf_add_test_case rmuser_seperate_group - atf_add_test_case group_do_not_delete_wheel_if_group_unknown - atf_add_test_case user_do_not_try_to_delete_root_if_user_unknown -} Property changes on: head/usr.sbin/pw/tests/pw_delete.sh ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/usr.sbin/pw/tests/pw_modify.sh =================================================================== --- head/usr.sbin/pw/tests/pw_modify.sh (revision 275655) +++ head/usr.sbin/pw/tests/pw_modify.sh (nonexistent) @@ -1,80 +0,0 @@ -# $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} addgroup test - atf_check -s exit:0 ${PW} 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} 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} addgroup test - atf_check -s exit:67 -e match:"does not exist" ${PW} groupmod test -m foo - atf_check -s exit:0 ${PW} groupmod test -d foo -} - -atf_test_case groupmod_bug_193704 -groupmod_bug_193704_head() { - atf_set "descr" "Regression test for the #193704 bug" -} -groupmod_bug_193704_body() { - populate_etc_skel - atf_check -s exit:0 -x ${PW} groupadd test - atf_check -s exit:0 -x ${PW} groupmod test -l newgroupname - atf_check -s exit:65 -e match:"^pw: unknown group" -x ${PW} groupshow test -} - -atf_test_case usermod_bug_185666 -usermod_bug_185666_head() { - atf_set "descr" "Regression test for the #185666 bug" -} - -usermod_bug_185666_body() { - populate_etc_skel - atf_check -s exit:0 -x ${PW} useradd testuser - atf_check -s exit:0 -x ${PW} groupadd testgroup - atf_check -s exit:0 -x ${PW} groupadd testgroup2 - atf_check -s exit:0 -x ${PW} usermod testuser -G testgroup - atf_check -o inline:"testuser:*:1001:\n" -x ${PW} groupshow testuser - atf_check -o inline:"testgroup:*:1002:testuser\n" -x ${PW} groupshow testgroup - atf_check -o inline:"testgroup2:*:1003:\n" -x ${PW} groupshow testgroup2 - atf_check -s exit:0 -x ${PW} usermod testuser -G testgroup2 - atf_check -o inline:"testuser:*:1001:\n" -x ${PW} groupshow testuser - atf_check -o inline:"testgroup:*:1002:\n" -x ${PW} groupshow testgroup - atf_check -o inline:"testgroup2:*:1003:testuser\n" -x ${PW} groupshow testgroup2 -} - -atf_test_case do_not_duplicate_group_on_gid_change -do_not_duplicate_group_on_gid_change_head() { - atf_set "descr" "Do not duplicate group on gid change" -} - -do_not_duplicate_group_on_gid_change_body() { - populate_etc_skel - atf_check -s exit:0 -x ${PW} groupadd testgroup - atf_check -s exit:0 -x ${PW} groupmod testgroup -g 12345 - # use grep to see if the entry has not be duplicated - atf_check -o inline:"testgroup:*:12345:\n" -s exit:0 -x grep "^testgroup" ${HOME}/group -} - -atf_init_test_cases() { - atf_add_test_case groupmod_user - atf_add_test_case groupmod_invalid_user - atf_add_test_case groupmod_bug_193704 - atf_add_test_case usermod_bug_185666 - atf_add_test_case do_not_duplicate_group_on_gid_change -} Property changes on: head/usr.sbin/pw/tests/pw_modify.sh ___________________________________________________________________ Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -FreeBSD=%H \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/usr.sbin/pw/tests/Makefile =================================================================== --- head/usr.sbin/pw/tests/Makefile (revision 275655) +++ head/usr.sbin/pw/tests/Makefile (revision 275656) @@ -1,25 +1,25 @@ # $FreeBSD$ TESTSRC= ${.CURDIR}/../../../contrib/netbsd-tests/usr.sbin/useradd .PATH: ${TESTSRC} TESTSDIR= ${TESTSBASE}/usr.sbin/pw -ATF_TESTS_SH= pw_add pw_delete pw_etcdir pw_lock pw_modify +ATF_TESTS_SH= pw_etcdir pw_lock pw_groupmod pw_useradd pw_userdel -TEST_METADATA.pw_add+= required_user="root" -TEST_METADATA.pw_delete+= required_user="root" -TEST_METADATA.pw_modify+= required_user="root" +TEST_METADATA.pw_groupmod+= required_user="root" +TEST_METADATA.pw_useradd+= required_user="root" +TEST_METADATA.pw_userdel+= required_user="root" FILES= group helper_functions.shin master.passwd FILESDIR= ${TESTSDIR} ATF_TESTS_SH+= pw_test # - user{add,del} does not exist on FreeBSD; use pw user{add,del} instead # - The command passes on FreeBSD ATF_TESTS_SH_SED_pw_test= -e 's/useradd /pw useradd /' ATF_TESTS_SH_SED_pw_test+= -e 's/userdel /pw userdel /' ATF_TESTS_SH_SED_pw_test+= -e '/atf_expect_fail "PR bin\/39546"/d' ATF_TESTS_SH_SRC_pw_test= t_useradd.sh .include Index: head/usr.sbin/pw/tests/pw_groupdel.sh =================================================================== --- head/usr.sbin/pw/tests/pw_groupdel.sh (nonexistent) +++ head/usr.sbin/pw/tests/pw_groupdel.sh (revision 275656) @@ -0,0 +1,24 @@ +# $FreeBSD$ + +# Import helper functions +. $(atf_get_srcdir)/helper_functions.shin + + +# Test to make sure we do not accidentially delete wheel when trying to delete +# an unknown group +atf_test_case group_do_not_delete_wheel_if_group_unknown +group_do_not_delete_wheel_if_group_unknown_head() { + atf_set "descr" "Make sure we do not consider gid 0 an unknown group" +} +group_do_not_delete_wheel_if_group_unknown_body() { + populate_etc_skel + atf_check -s exit:0 -o inline:"wheel:*:0:root\n" -x ${PW} groupshow wheel + atf_check -e inline:"pw: -g expects a number\n" -s exit:64 -x \ + ${PW} groupdel -g I_do_not_exist + atf_check -s exit:0 -o inline:"wheel:*:0:root\n" -x ${PW} groupshow wheel +} + + +atf_init_test_cases() { + atf_add_test_case group_do_not_delete_wheel_if_group_unknown +} Property changes on: head/usr.sbin/pw/tests/pw_groupdel.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/usr.sbin/pw/tests/pw_groupmod.sh =================================================================== --- head/usr.sbin/pw/tests/pw_groupmod.sh (nonexistent) +++ head/usr.sbin/pw/tests/pw_groupmod.sh (revision 275656) @@ -0,0 +1,80 @@ +# $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} addgroup test + atf_check -s exit:0 ${PW} 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} 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} addgroup test + atf_check -s exit:67 -e match:"does not exist" ${PW} groupmod test -m foo + atf_check -s exit:0 ${PW} groupmod test -d foo +} + +atf_test_case groupmod_bug_193704 +groupmod_bug_193704_head() { + atf_set "descr" "Regression test for the #193704 bug" +} +groupmod_bug_193704_body() { + populate_etc_skel + atf_check -s exit:0 -x ${PW} groupadd test + atf_check -s exit:0 -x ${PW} groupmod test -l newgroupname + atf_check -s exit:65 -e match:"^pw: unknown group" -x ${PW} groupshow test +} + +atf_test_case usermod_bug_185666 +usermod_bug_185666_head() { + atf_set "descr" "Regression test for the #185666 bug" +} + +usermod_bug_185666_body() { + populate_etc_skel + atf_check -s exit:0 -x ${PW} useradd testuser + atf_check -s exit:0 -x ${PW} groupadd testgroup + atf_check -s exit:0 -x ${PW} groupadd testgroup2 + atf_check -s exit:0 -x ${PW} usermod testuser -G testgroup + atf_check -o inline:"testuser:*:1001:\n" -x ${PW} groupshow testuser + atf_check -o inline:"testgroup:*:1002:testuser\n" -x ${PW} groupshow testgroup + atf_check -o inline:"testgroup2:*:1003:\n" -x ${PW} groupshow testgroup2 + atf_check -s exit:0 -x ${PW} usermod testuser -G testgroup2 + atf_check -o inline:"testuser:*:1001:\n" -x ${PW} groupshow testuser + atf_check -o inline:"testgroup:*:1002:\n" -x ${PW} groupshow testgroup + atf_check -o inline:"testgroup2:*:1003:testuser\n" -x ${PW} groupshow testgroup2 +} + +atf_test_case do_not_duplicate_group_on_gid_change +do_not_duplicate_group_on_gid_change_head() { + atf_set "descr" "Do not duplicate group on gid change" +} + +do_not_duplicate_group_on_gid_change_body() { + populate_etc_skel + atf_check -s exit:0 -x ${PW} groupadd testgroup + atf_check -s exit:0 -x ${PW} groupmod testgroup -g 12345 + # use grep to see if the entry has not be duplicated + atf_check -o inline:"testgroup:*:12345:\n" -s exit:0 -x grep "^testgroup" ${HOME}/group +} + +atf_init_test_cases() { + atf_add_test_case groupmod_user + atf_add_test_case groupmod_invalid_user + atf_add_test_case groupmod_bug_193704 + atf_add_test_case usermod_bug_185666 + atf_add_test_case do_not_duplicate_group_on_gid_change +} Property changes on: head/usr.sbin/pw/tests/pw_groupmod.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/usr.sbin/pw/tests/pw_useradd.sh =================================================================== --- head/usr.sbin/pw/tests/pw_useradd.sh (nonexistent) +++ head/usr.sbin/pw/tests/pw_useradd.sh (revision 275656) @@ -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 +} Property changes on: head/usr.sbin/pw/tests/pw_useradd.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/usr.sbin/pw/tests/pw_userdel.sh =================================================================== --- head/usr.sbin/pw/tests/pw_userdel.sh (nonexistent) +++ head/usr.sbin/pw/tests/pw_userdel.sh (revision 275656) @@ -0,0 +1,37 @@ +# $FreeBSD$ + +# Import helper functions +. $(atf_get_srcdir)/helper_functions.shin + + +# Test that a user can be deleted when another user is part of this +# user's default group and does not go into an infinate loop. +# PR: 191427 +atf_test_case rmuser_seperate_group cleanup +rmuser_seperate_group_head() { + atf_set "timeout" "30" +} +rmuser_seperate_group_body() { + populate_etc_skel + ${PW} useradd test || atf_fail "Creating test user" + ${PW} groupmod test -M 'test,root' || \ + atf_fail "Modifying the group" + ${PW} userdel test || atf_fail "Delete the test user" +} + + +atf_test_case user_do_not_try_to_delete_root_if_user_unknown +user_do_not_try_to_delete_root_if_user_unknown_head() { + atf_set "descr" \ + "Make sure not to try to remove root if deleting an unknown user" +} +user_do_not_try_to_delete_root_if_user_unknown_body() { + populate_etc_skel + atf_check -e inline:"pw: -u expects a number\n" -s exit:64 -x \ + ${PW} userdel -u plop +} + +atf_init_test_cases() { + atf_add_test_case rmuser_seperate_group + atf_add_test_case user_do_not_try_to_delete_root_if_user_unknown +} Property changes on: head/usr.sbin/pw/tests/pw_userdel.sh ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property