[Pkg-shadow-devel] [Git][debian/adduser][master] 7 commits: fix logic error in assert_command_result_silent
Marc Haber (@zugschlus)
gitlab at salsa.debian.org
Fri Mar 7 11:29:28 GMT 2025
Marc Haber pushed to branch master at Debian / adduser
Commits:
5a5e2fee by Marc Haber at 2025-03-06T21:08:25+01:00
fix logic error in assert_command_result_silent
Git-Dch: ignore
- - - - -
29fa2469 by Marc Haber at 2025-03-06T21:08:50+01:00
fix wrong expected commmand result for no primary GID
Git-Dch: ignore
- - - - -
9cb7eb46 by Marc Haber at 2025-03-07T09:30:08+01:00
fix misdetection of non-system accounts as system accounts
- - - - -
9a5e538e by Marc Haber at 2025-03-07T09:30:44+01:00
new group creation test
- - - - -
72fc8dbf by Marc Haber at 2025-03-07T09:30:56+01:00
adduser --system is now silent when account is already there
Git-Dch: ignore
- - - - -
6f4fab36 by Marc Haber at 2025-03-07T09:31:55+01:00
fixup! fix wrong expected commmand result for no primary GID
- - - - -
d3540575 by Marc Haber at 2025-03-07T09:32:34+01:00
re-work system_status.t
Git-Dch: ignore
- - - - -
6 changed files:
- adduser
- + debian/tests/f/group_creation.t
- debian/tests/f/system_status.t
- debian/tests/f/user_group.t
- debian/tests/lib/AdduserTestsCommon.pm
- testsuite/test9.pl
Changes:
=====================================
adduser
=====================================
@@ -1151,7 +1151,7 @@ sub existing_user_status {
log_trace("egetpwnam %s returned successfully, uid = %s", $new_name, $uid);
$ret |= EXISTING_FOUND;
$ret |= EXISTING_ID_MISMATCH if (defined($new_uid) && $uid != $new_uid);
- $ret |= EXISTING_SYSTEM if \
+ $ret |= EXISTING_SYSTEM if
($uid >= $config{"first_system_uid"} && $uid <= $config{"last_system_uid"});
} elsif ($new_uid && getpwuid($new_uid)) {
$ret |= EXISTING_ID_MISMATCH;
@@ -1179,7 +1179,7 @@ sub existing_group_status {
log_trace("egetgrnam %s returned successfully, gid = %s", $new_name, $gid);
$ret |= EXISTING_FOUND;
$ret |= EXISTING_ID_MISMATCH if (defined($new_gid) && $gid != $new_gid);
- $ret |= EXISTING_SYSTEM if \
+ $ret |= EXISTING_SYSTEM if
($gid >= $config{"first_system_gid"} && $gid <= $config{"last_system_gid"});
} elsif ($new_gid && getgrgid($new_gid)) {
$ret |= EXISTING_ID_MISMATCH;
=====================================
debian/tests/f/group_creation.t
=====================================
@@ -0,0 +1,94 @@
+#! /usr/bin/perl -Idebian/tests/lib
+
+# check group_creation functionality
+
+use diagnostics;
+use strict;
+use warnings;
+
+use AdduserTestsCommon;
+
+# how do I use a module from the package in question?
+#use AddgroupRetvalues;
+
+use constant RET_OK => 0;
+use constant RET_OBJECT_EXISTS => 11;
+use constant RET_WRONG_OBJECT_PROPERTIES => 13;
+
+my $usergid=40000;
+my $sysggid=400;
+my $test_name="test1";
+my $nextid;
+
+my @quiet=("--stdoutmsglevel=error", '--stderrmsglevel=error');
+
+# non-system group
+$test_name="test1";
+assert_command_success(
+ '/usr/sbin/addgroup', @quiet,
+ $test_name);
+assert_group_exists($test_name);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/addgroup', @quiet,
+ $test_name);
+assert_group_exists($test_name);
+
+# non-system group
+# with explicit --gid
+$test_name="test1-a";
+$usergid++;
+assert_command_success(
+ '/usr/sbin/addgroup', @quiet,
+ '--gid', "$usergid",
+ $test_name);
+assert_group_gid_exists($test_name,$usergid);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/addgroup', @quiet,
+ '--gid', "$usergid",
+ $test_name);
+assert_group_gid_exists($test_name,$usergid);
+$nextid=$usergid+1000;
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/addgroup', @quiet,
+ '--gid', "$nextid",
+ $test_name);
+assert_group_gid_exists($test_name,$usergid);
+
+# system group
+$test_name="systest1";
+assert_command_success(
+ '/usr/sbin/addgroup', @quiet,
+ '--system',
+ $test_name);
+assert_group_exists($test_name);
+assert_command_success(
+ '/usr/sbin/addgroup', @quiet,
+ '--system',
+ $test_name);
+assert_group_exists($test_name);
+
+# system group
+# with explicit --gid
+$test_name="systest1-a";
+$sysggid++;
+assert_command_success(
+ '/usr/sbin/addgroup', @quiet,
+ '--system',
+ '--gid', "$sysggid",
+ $test_name);
+assert_group_gid_exists($test_name,$sysggid);
+assert_command_success(
+ '/usr/sbin/addgroup', @quiet,
+ '--system',
+ '--gid', "$sysggid",
+ $test_name);
+assert_group_gid_exists($test_name,$sysggid);
+$nextid=$sysggid+1000;
+assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+ '/usr/sbin/addgroup', @quiet,
+ '--system',
+ '--gid', "$nextid",
+ $test_name);
+assert_group_gid_exists($test_name,$sysggid);
+
+# vim: tabstop=4 shiftwidth=4 expandtab
=====================================
debian/tests/f/system_status.t
=====================================
@@ -9,155 +9,688 @@ use warnings;
use AdduserTestsCommon;
-my $name;
+# how do I use a module from the package in question?
+#use AdduserRetvalues;
+use constant RET_OK => 0;
+use constant RET_OBJECT_EXISTS => 11;
+use constant RET_OBJECT_DOES_NOT_EXIST => 12;
+use constant RET_WRONG_OBJECT_PROPERTIES => 13;
+use constant RET_NO_PRIMARY_GID => 23;
+
+
+my $name = "sys-stat-t";
+
+# we move through all possible transitions
+# number existing before operation result existing after
+# 11 nothing create system success system
+# 12 system create system success system
+# 13 system delete system success nothing
+# 14 nothing delete system obj_not_ex nothing
+# 15 nothing delete nonsys obj_not_ex nothing
+# 21 nothing create system success system
+# 22 system create nonsys obj_exists system
+# 23 system delete nonsys wrong_prpo system
+# 24 system delete system success nothing
+# 31 nothing create nonsys success nonsys
+# 32 nonsys create nonsys obj_exists nonsys
+# 33 nonsys delete sys wrong_prop nonsys
+# 34 nonsys create sys wrong_prop nonsys
+# 35 nonsys delete nonsys success nothing
+
+# existing before operation number
+# nothing create sys 21, 11
+# nothing create non 31
+# system create sys 12
+# system create non 22
+# nonsys create sys 34
+# nonsys create non 32
+# nothing delete sys 14
+# nothing delete non 15
+# system delete sys 13, 24
+# system delete non 23
+# nonsys delete sys 33
+# nonsys delete non 35
+
+### USERS ###
+
+# number existing before operation result existing after
+# 11 nothing create system success system
+assert_user_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+
+# number existing before operation result existing after
+# 12 system create system success system
+# above: assert_user_exists($name);
+# above: assert_user_is_system($name);
+assert_command_success(
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+
+# number existing before operation result existing after
+# 13 system delete system success nothing
+# above: assert_user_exists($name);
+# above: assert_user_is_system($name);
+assert_command_success(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_does_not_exist($name);
+
+# number existing before operation result existing after
+# 14 nothing delete system obj_not_ex nothing
+# above: assert_user_does_not_exist($name);
+assert_command_success(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_does_not_exist($name);
+
+# number existing before operation result existing after
+# 15 nothing delete nonsys obj_not_ex nothing
+# above: assert_user_does_not_exist($name);
+assert_command_result_silent(RET_OBJECT_DOES_NOT_EXIST,
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_user_does_not_exist($name);
+
+# number existing before operation result existing after
+# 21 nothing create system success system
+# above: assert_user_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+
+# number existing before operation result existing after
+# 22 system create nonsys obj_exists system
+# above: assert_user_is_system($name);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--disabled-password',
+ '--no-create-home',
+ '--comment', '""',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+
+# number existing before operation result existing after
+# 23 system delete nonsys wrong_prop system
+# in adduser 3.145, this succeeds!
+# above: assert_user_is_system($name);
+#assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+assert_command_success(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_user_does_not_exist($name);
+# recreate again so that the sequence can continue
+assert_command_success(
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+
+# number existing before operation result existing after
+# 24 system delete system success nothing
+# above: assert_user_is_system($name);
+assert_command_success(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_does_not_exist($name);
+
+# number existing before operation result existing after
+# 31 nothing create nonsys success nonsys
+# above: assert_user__does_not_exist($name);
+assert_command_success(
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--disabled-password',
+ '--no-create-home',
+ '--comment', '""',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_non_system($name);
+
+# number existing before operation result existing after
+# 32 nonsys create nonsys obj_exists nonsys
+# above: assert_user_exists($name);
+# above: assert_user_is_non_system($name);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--disabled-password',
+ '--no-create-home',
+ '--comment', '""',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_non_system($name);
+
+# number existing before operation result existing after
+# 33 nonsys delete sys wrong_prop nonsys
+# above: assert_user_exists($name);
+# above: assert_user_is_non_system($name);
+assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_non_system($name);
+
+# number existing before operation result existing after
+# 34 nonsys create sys wrong_prop nonsys
+# above: assert_user_exists($name);
+# above: assert_user_is_non_system($name);
+assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_non_system($name);
+
+# number existing before operation result existing after
+# 35 nonsys delete nonsys success nothing
+# above: assert_user_exists($name);
+# above: assert_user_is_non_system($name);
+assert_command_success(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_user_does_not_exist($name);
+
+
+### GROUPS ###
+
+# number existing before operation result existing after
+# 11 nothing create system success system
+assert_group_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+# number existing before operation result existing after
+# 12 system create system success system
+# above: assert_group_exists($name);
+# above: assert_group_is_system($name);
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+# number existing before operation result existing after
+# 13 system delete system success nothing
+# above: assert_group_exists($name);
+# above: assert_group_is_system($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
+
+# number existing before operation result existing after
+# 14 nothing delete system obj_not_ex nothing
+# above: assert_group_does_not_exist($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
+
+# number existing before operation result existing after
+# 15 nothing delete nonsys obj_not_ex nothing
+# above: assert_group_does_not_exist($name);
+assert_command_result_silent(RET_OBJECT_DOES_NOT_EXIST,
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_group_does_not_exist($name);
+
+# number existing before operation result existing after
+# 21 nothing create system success system
+# above: assert_group_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+# number existing before operation result existing after
+# 22 system create nonsys obj_exists system
+# above: assert_group_is_system($name);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--disabled-password',
+ '--no-create-home',
+ '--comment', '""',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+# number existing before operation result existing after
+# 23 system delete nonsys wrong_prop system
+# in addgroup 3.145, this succeeds!
+# above: assert_group_is_system($name);
+#assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_group_does_not_exist($name);
+# recreate again so that the sequence can continue
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+# number existing before operation result existing after
+# 24 system delete system success nothing
+# above: assert_group_is_system($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
+
+# number existing before operation result existing after
+# 31 nothing create nonsys success nonsys
+# above: assert_group__does_not_exist($name);
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--disabled-password',
+ '--no-create-home',
+ '--comment', '""',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_non_system($name);
+
+# number existing before operation result existing after
+# 32 nonsys create nonsys obj_exists nonsys
+# above: assert_group_exists($name);
+# above: assert_group_is_non_system($name);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--disabled-password',
+ '--no-create-home',
+ '--comment', '""',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_non_system($name);
+
+# number existing before operation result existing after
+# 33 nonsys delete sys wrong_prop nonsys
+# above: assert_group_exists($name);
+# above: assert_group_is_non_system($name);
+assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_non_system($name);
+
+# number existing before operation result existing after
+# 34 nonsys create sys wrong_prop nonsys
+# above: assert_group_exists($name);
+# above: assert_group_is_non_system($name);
+assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_non_system($name);
+
+# number existing before operation result existing after
+# 35 nonsys delete nonsys success nothing
+# above: assert_group_exists($name);
+# above: assert_group_is_non_system($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_group_does_not_exist($name);
+
+
+# following are the older tests. too lazy to remove at this moment
+# create system group, create system group => success
+$name="aussystat-g-cscs";
+assert_group_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
+
+# create system group, create non-system group => refusal
+$name="aussystat-g-csns";
+assert_group_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+assert_command_result_silent(RET_OBJECT_EXISTS,
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_does_not_exist($name);
# create system group, delete system group
$name="aussystat1";
assert_group_does_not_exist($name);
-assert_command_success('/usr/sbin/addgroup',
+assert_command_success(
+ '/usr/sbin/addgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_group_exists($name);
assert_group_is_system($name);
-assert_command_success('/usr/sbin/addgroup',
+assert_command_success(
+ '/usr/sbin/addgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_group_exists($name);
assert_group_is_system($name);
-assert_command_success('/usr/sbin/delgroup',
+assert_command_success(
+ '/usr/sbin/delgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_group_does_not_exist($name);
-assert_command_success('/usr/sbin/delgroup',
+assert_command_success(
+ '/usr/sbin/delgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_group_does_not_exist($name);
+# create non-system group, create non-system group => success
+# create non-system group, create system group => refusal
# create non-system group, delete system group
$name="aussystat2";
assert_group_does_not_exist($name);
-assert_command_success('/usr/sbin/addgroup',
+assert_command_success(
+ '/usr/sbin/addgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
- $name);
+ $name
+);
assert_group_exists($name);
assert_group_is_non_system($name);
-assert_command_failure_silent('/usr/sbin/delgroup',
+assert_command_failure_silent(
+ '/usr/sbin/delgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_group_exists($name);
assert_group_is_non_system($name);
-assert_command_success('/usr/sbin/delgroup',
+assert_command_success(
+ '/usr/sbin/delgroup',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
- $name);
+ $name
+);
assert_group_does_not_exist($name);
# create system group, delete non-system group
-# that one fails in current adduser, see #1099606
-#$name="aussystat3";
-#assert_group_does_not_exist($name);
-#
-#assert_command_success('/usr/sbin/addgroup',
-# '--stdoutmsglevel=error', '--stderrmsglevel=error',
-# '--system',
-# $name);
-#assert_group_exists($name);
-#assert_group_is_system($name);
-#
-#assert_command_failure_silent('/usr/sbin/delgroup',
-# '--stdoutmsglevel=error', '--stderrmsglevel=error',
-# $name);
-#assert_group_exists($name);
-#assert_group_is_system($name);
-#assert_command_success('/usr/sbin/delgroup',
+$name="aussystat3";
+assert_group_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/addgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_group_exists($name);
+assert_group_is_system($name);
+
+# this delete operation succeeds in adduser 3.145
+# we are not sure whether this is correct behavior
+# discussion pending
+#assert_command_result_silent(RET_WRONG_OBJECT_PROPERTIES,
+# '/usr/sbin/delgroup',
# '--stdoutmsglevel=error', '--stderrmsglevel=error',
-# $name);
-#assert_group_does_not_exist($name);
+# $name
+#);
+assert_group_exists($name);
+assert_group_is_system($name);
+assert_command_success(
+ '/usr/sbin/delgroup',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_group_does_not_exist($name);
+# create system user, create system user => success
+# create system user, create non-system user => refusal
# create system user, delete system user
$name="aussystat4";
assert_user_does_not_exist($name);
-assert_command_success('/usr/sbin/adduser',
+assert_command_success(
+ '/usr/sbin/adduser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_user_exists($name);
assert_user_is_system($name);
-assert_command_success('/usr/sbin/adduser',
+assert_command_success(
+ '/usr/sbin/adduser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_user_exists($name);
assert_user_is_system($name);
-assert_command_success('/usr/sbin/deluser',
+assert_command_success(
+ '/usr/sbin/deluser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_user_does_not_exist($name);
-assert_command_success('/usr/sbin/deluser',
+assert_command_success(
+ '/usr/sbin/deluser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_user_does_not_exist($name);
+# create non-system user, create non-system user => success
+# create non-system user, create system user => refusal
# create non-system user, delete system user
$name="aussystat5";
assert_user_does_not_exist($name);
-assert_command_success('/usr/sbin/adduser',
+assert_command_success(
+ '/usr/sbin/adduser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--no-create-home',
'--disabled-password',
- '--comment', '',
- $name);
+ '--comment', '""',
+ $name
+);
assert_user_exists($name);
assert_user_is_non_system($name);
-assert_command_failure_silent('/usr/sbin/deluser',
+assert_command_failure_silent(
+ '/usr/sbin/deluser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
'--system',
- $name);
+ $name
+);
assert_user_exists($name);
assert_user_is_non_system($name);
-assert_command_success('/usr/sbin/deluser',
+assert_command_success(
+ '/usr/sbin/deluser',
'--stdoutmsglevel=error', '--stderrmsglevel=error',
- $name);
+ $name
+);
assert_user_does_not_exist($name);
# create system user, delete non-system user
-# that one fails in current adduser, see #1099606
-#$name="aussystat6";
-#assert_user_does_not_exist($name);
-#
-#assert_command_success('/usr/sbin/adduser',
-# '--stdoutmsglevel=error', '--stderrmsglevel=error',
-# '--system',
-# $name);
-#assert_user_exists($name);
-#assert_user_is_system($name);
-#
-#assert_command_failure_silent('/usr/sbin/deluser',
-# '--stdoutmsglevel=error', '--stderrmsglevel=error',
-# '--no-create-home',
-# '--disabled-password',
-# '--comment', '',
-# $name);
-#assert_user_exists($name);
-#assert_user_is_system($name);
-#assert_command_success('/usr/sbin/deluser',
-# '--stdoutmsglevel=error', '--stderrmsglevel=error',
-# $name);
-#assert_user_does_not_exist($name);
+$name="aussystat6";
+assert_user_does_not_exist($name);
+
+assert_command_success(
+ '/usr/sbin/adduser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--system',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+
+assert_command_failure_silent(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ '--no-create-home',
+ '--disabled-password',
+ '--comment', '""',
+ $name
+);
+assert_user_exists($name);
+assert_user_is_system($name);
+assert_command_success(
+ '/usr/sbin/deluser',
+ '--stdoutmsglevel=error', '--stderrmsglevel=error',
+ $name
+);
+assert_user_does_not_exist($name);
# vim: tabstop=4 shiftwidth=4 expandtab
=====================================
debian/tests/f/user_group.t
=====================================
@@ -13,7 +13,9 @@ use AdduserTestsCommon;
use constant RET_OK => 0;
use constant RET_OBJECT_EXISTS => 11;
+use constant RET_OBJECT_DOES_NOT_EXIST => 12;
use constant RET_WRONG_OBJECT_PROPERTIES => 13;
+use constant RET_NO_PRIMARY_GID => 23;
my @quiet=("--stdoutmsglevel=error", '--stderrmsglevel=error');
@@ -2411,7 +2413,7 @@ $confhash{"USERGROUPS"}='no';
$confhash{"USERS_GROUP"}='';
$confhash{"USERS_GID"}=-1;
apply_config_hash(\%confhash);
-assert_command_result_silent(RET_OBJECT_EXISTS,
+assert_command_result_silent(RET_NO_PRIMARY_GID,
'/usr/sbin/adduser', @quiet,
'--no-create-home',
'--comment', '""',
=====================================
debian/tests/lib/AdduserTestsCommon.pm
=====================================
@@ -68,8 +68,8 @@ sub assert_command_result_silent {
my $expected = shift;
my $cmd = join(' ', @_);
my $output = `$cmd >/dev/null 2>&1`;
- my $ret = $? >> 8;
- isnt($ret != $expected, 0, "command result $ret (expected $expected): @_");
+ my $ret = ($? >> 8);
+ is(($ret == $expected), 1, "command result $ret (expected $expected): @_");
}
sub assert_command_failure_silent {
=====================================
testsuite/test9.pl
=====================================
@@ -89,10 +89,6 @@ if ($error) {
print "failed\n $cmd returned an errorcode != 0 ($error)\n";
exit $error;
}
-if ($output !~ /^warn: The group `addusertest\d+' already exists as a system group\. Exiting\.\n$/ ) {
- print "failed\n $cmd returned unexpected output ($output)\n";
- exit 1;
-}
print "ok\n";
# now testing whether adding the group again (as a regular group)
View it on GitLab: https://salsa.debian.org/debian/adduser/-/compare/67358f788014bfc59f6f4f2df7af1d5736857037...d3540575a33e1bbc395a80318e651b4747557ad6
--
View it on GitLab: https://salsa.debian.org/debian/adduser/-/compare/67358f788014bfc59f6f4f2df7af1d5736857037...d3540575a33e1bbc395a80318e651b4747557ad6
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-shadow-devel/attachments/20250307/e960247a/attachment-0001.htm>
More information about the Pkg-shadow-devel
mailing list