Author: brd (doc committer)
Date: Thu Oct  2 19:53:37 2014
New Revision: 272445
URL: https://svnweb.freebsd.org/changeset/base/272445

Log:
  - Add a test for bug 191427 where pw(8) will go into an infinite loop
  
  Reviewed by:  will
  MFC after:    1 month

Added:
  head/usr.sbin/pw/tests/
  head/usr.sbin/pw/tests/Makefile   (contents, props changed)
  head/usr.sbin/pw/tests/group   (contents, props changed)
  head/usr.sbin/pw/tests/helper_functions.shin   (contents, props changed)
  head/usr.sbin/pw/tests/master.passwd   (contents, props changed)
  head/usr.sbin/pw/tests/pw_delete.sh   (contents, props changed)
Modified:
  head/etc/mtree/BSD.tests.dist
  head/usr.sbin/pw/Makefile

Modified: head/etc/mtree/BSD.tests.dist
==============================================================================
--- head/etc/mtree/BSD.tests.dist       Thu Oct  2 19:11:18 2014        
(r272444)
+++ head/etc/mtree/BSD.tests.dist       Thu Oct  2 19:53:37 2014        
(r272445)
@@ -287,6 +287,8 @@
             ..
             newsyslog
             ..
+            pw
+            ..
             sa
             ..
         ..

Modified: head/usr.sbin/pw/Makefile
==============================================================================
--- head/usr.sbin/pw/Makefile   Thu Oct  2 19:11:18 2014        (r272444)
+++ head/usr.sbin/pw/Makefile   Thu Oct  2 19:53:37 2014        (r272445)
@@ -11,4 +11,10 @@ WARNS?=      2
 DPADD= ${LIBCRYPT} ${LIBUTIL}
 LDADD= -lcrypt -lutil
 
+.include <src.opts.mk>
+
+.if ${MK_TESTS} != "no"
+SUBDIR+=       tests
+.endif
+
 .include <bsd.prog.mk>

Added: head/usr.sbin/pw/tests/Makefile
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/pw/tests/Makefile     Thu Oct  2 19:53:37 2014        
(r272445)
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+TESTSDIR=      ${TESTSBASE}/usr.sbin/pw
+
+ATF_TESTS_SH=  pw_delete
+
+FILES=         group helper_functions.shin master.passwd
+FILESDIR=       ${TESTSDIR}
+
+.include <bsd.test.mk>

Added: head/usr.sbin/pw/tests/group
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/pw/tests/group        Thu Oct  2 19:53:37 2014        
(r272445)
@@ -0,0 +1,3 @@
+# $FreeBSD$
+#
+wheel:*:0:root

Added: head/usr.sbin/pw/tests/helper_functions.shin
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/pw/tests/helper_functions.shin        Thu Oct  2 19:53:37 
2014        (r272445)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+# Workdir to run tests in
+TESTDIR=$(atf_get_srcdir)
+
+# Populate the files pw needs to use into $HOME/etc
+populate_etc_skel() {
+       cp ${TESTDIR}/master.passwd ${HOME} || \
+               atf_fail "Populating master.passwd in ${HOME}"
+       cp ${TESTDIR}/group ${HOME} || atf_fail "Populating group in ${HOME}"
+
+       # Generate the passwd file
+       pwd_mkdb -p -d ${HOME} ${HOME}/master.passwd || \
+               atf_fail "generate passwd from master.passwd"
+}

Added: head/usr.sbin/pw/tests/master.passwd
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/pw/tests/master.passwd        Thu Oct  2 19:53:37 2014        
(r272445)
@@ -0,0 +1,4 @@
+# $FreeBSD$
+#
+root:*:0:0::0:0:Charlie &:/root:/bin/csh
+toor:*:0:0::0:0:Bourne-again Superuser:/root:

Added: head/usr.sbin/pw/tests/pw_delete.sh
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/pw/tests/pw_delete.sh Thu Oct  2 19:53:37 2014        
(r272445)
@@ -0,0 +1,24 @@
+# $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 -V ${HOME} useradd test || atf_fail "Creating test user"
+       pw -V ${HOME} groupmod test -M 'test,root' || \
+               atf_fail "Modifying the group"
+       pw -V ${HOME} userdel test || atf_fail "delete the user"
+}
+
+
+atf_init_test_cases() {
+       atf_add_test_case rmuser_seperate_group
+}
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to