tests: avoid false failures in user namespaces

* init.cfg (require_membership_in_two_groups_): Skip
overflow gids used in user namespaces, as one can't
chgrp() to these.
Fixes https://bugs.gnu.org/78225
This commit is contained in:
Pádraig Brady
2025-05-03 09:59:16 +01:00
parent e7699b17b5
commit 6218cb18b0

View File

@@ -504,6 +504,10 @@ require_membership_in_two_groups_()
{
test $# = 0 || framework_failure_
# Skip overflow gids used in user namespaces
overflow_gid=$(cat /proc/sys/kernel/overflowgid 2>/dev/null)
: "${overflow_gid:=1}"
groups=
for group_ in 1 \
${COREUTILS_GROUPS-$( (id -G || /usr/xpg4/bin/id -G) 2>/dev/null)}
@@ -511,7 +515,7 @@ require_membership_in_two_groups_()
# Skip group numbers equal to 2**N - 1 for common N,
# as they are possibly reserved groups like 'nogroup'.
case $group_ in
1 | 32767 | 65535 | 2147483647 | 4294967295) ;;
$overflow_gid | 1 | 32767 | 65535 | 2147483647 | 4294967295) ;;
9223372036854775807 | 18446744073709551615) ;;
*) test -z "$groups" || groups="$groups "
groups="$groups$group_";;