From 68d1891dcd9562dd914b16bfb34223c430b16b3f Mon Sep 17 00:00:00 2001 From: Yuri Pankov Date: Sun, 21 Oct 2018 14:23:56 +0000 Subject: 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 --- pw/pw_conf.c | 12 +++++++----- pw/tests/pw_useradd_test.sh | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/pw/pw_conf.c b/pw/pw_conf.c index 9dff3fe..c446a66 100644 --- a/pw/pw_conf.c +++ b/pw/pw_conf.c @@ -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 * diff --git a/pw/tests/pw_useradd_test.sh b/pw/tests/pw_useradd_test.sh index 3a88967..a50f018 100755 --- a/pw/tests/pw_useradd_test.sh +++ b/pw/tests/pw_useradd_test.sh @@ -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 } -- cgit v1.2.3-56-ge451