On Mon, Jan 15, 2024 at 10:24:02PM +0100, Richard Weinberger wrote: > The test assumes that the $qa_user is member of the group > $qa_user. While this is automatically the case on systems > with USERGROUPS_ENAB set in /etc/login.defs, not all > enable this option. Most notably SUSE Linux. > > So make sure this case is noticed and reported instead of > failing the test and let the test guy puzzle. > Signed-off-by: Richard Weinberger <richard@xxxxxx> > --- > common/rc | 11 +++++++++++ > tests/generic/193 | 1 + > 2 files changed, 12 insertions(+) > > diff --git a/common/rc b/common/rc > index a9e0ba7e..5c6671a3 100644 > --- a/common/rc > +++ b/common/rc > @@ -2484,6 +2484,17 @@ _require_user() > [ "$?" == "0" ] || _notrun "$qa_user cannot execute commands." > } > > +# check if a user is member of a specifc group > +# > +_require_user_in_group() > +{ > + local user="$1" > + local group="$2" > + > + id -n -G $user | grep -w -q $group > + [ "$?" == "0" ] || _notrun "$user not in group $group." > +} Just do this check in _require_user(). The user needs to be set up correctly for all tests - if the user and group is not set up correctly, don't run any of the tests that require that user. This means we don't have to play whack-a-mole with "user has no group" every time someone assumes that a user is created with a group by default. -Dave. -- Dave Chinner david@xxxxxxxxxxxxx