Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Oct 2018 14:23:56 +0000 (UTC)
From:      Yuri Pankov <yuripv@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r339534 - in head/usr.sbin/pw: . tests
Message-ID:  <201810211423.w9LENuij065022@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810211423.w9LENuij065022>