Re: [PATCH] generic/193: Ensure user in expected group

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



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




[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux