Author: yuripv
Date: Sun Oct 21 14:23:56 2018
New Revision: 339534
URL: https://svnweb.freebsd.org/changeset/base/339534

Log:
  pw: fix the checks in boolean_str() after r326738.  Add related test
  cases for `pw useradd -D -w`.
  
  PR:           231649
  Reviewed by:  eugen
  Approved by:  kib (mentor)
  Differential Revision:        https://reviews.freebsd.org/D17299

Modified:
  head/usr.sbin/pw/pw_conf.c
  head/usr.sbin/pw/tests/pw_useradd_test.sh

Modified: head/usr.sbin/pw/pw_conf.c
==============================================================================
--- head/usr.sbin/pw/pw_conf.c  Sun Oct 21 14:19:16 2018        (r339533)
+++ head/usr.sbin/pw/pw_conf.c  Sun Oct 21 14:23:56 2018        (r339534)
@@ -221,12 +221,14 @@ passwd_val(char const * str, int dflt)
 char const     *
 boolean_str(int val)
 {
-       if (val == -1)
-               return "random";
-       else if (val == -2)
-               return "none";
+       if (val == P_NO)
+               return (boolfalse[0]);
+       else if (val == P_RANDOM)
+               return ("random");
+       else if (val == P_NONE)
+               return ("none");
        else
-               return val ? booltrue[0] : boolfalse[0];
+               return (booltrue[0]);
 }
 
 char           *

Modified: head/usr.sbin/pw/tests/pw_useradd_test.sh
==============================================================================
--- head/usr.sbin/pw/tests/pw_useradd_test.sh   Sun Oct 21 14:19:16 2018        
(r339533)
+++ head/usr.sbin/pw/tests/pw_useradd_test.sh   Sun Oct 21 14:23:56 2018        
(r339534)
@@ -421,6 +421,7 @@ user_add_with_pw_conf_body()
        atf_check -s exit:0 \
                ${PW} useradd foo -C ${HOME}/pw.conf
 }
+
 atf_test_case user_add_defaultgroup
 user_add_defaultgroup_body()
 {
@@ -435,6 +436,25 @@ user_add_defaultgroup_body()
                ${PW} usershow foo
 }
 
+atf_test_case user_add_conf_defaultpasswd
+user_add_conf_defaultpasswd_body()
+{
+       populate_etc_skel
+
+       atf_check -s exit:0 ${PW} useradd -D -w no
+       atf_check -o inline:"defaultpasswd = \"no\"\n" \
+           grep defaultpasswd ${HOME}/pw.conf
+       atf_check -s exit:0 ${PW} useradd -D -w none
+       atf_check -o inline:"defaultpasswd = \"none\"\n" \
+           grep defaultpasswd ${HOME}/pw.conf
+       atf_check -s exit:0 ${PW} useradd -D -w random
+       atf_check -o inline:"defaultpasswd = \"random\"\n" \
+           grep defaultpasswd ${HOME}/pw.conf
+       atf_check -s exit:0 ${PW} useradd -D -w yes
+       atf_check -o inline:"defaultpasswd = \"yes\"\n" \
+           grep defaultpasswd ${HOME}/pw.conf
+}
+
 atf_init_test_cases() {
        atf_add_test_case user_add
        atf_add_test_case user_add_noupdate
@@ -472,4 +492,6 @@ atf_init_test_cases() {
        atf_add_test_case user_add_w_yes
        atf_add_test_case user_add_with_pw_conf
        atf_add_test_case user_add_defaultgroup
+
+       atf_add_test_case user_add_conf_defaultpasswd
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to