]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: skip TestSetuidEtc when root's gid is not 0
authorShuo Wang <wangshuo@kylinos.cn>
Fri, 18 Oct 2024 02:37:57 +0000 (02:37 +0000)
committerGopher Robot <gobot@golang.org>
Mon, 21 Oct 2024 13:39:02 +0000 (13:39 +0000)
When the root user belongs to a special user group
(for example, in a mock environment), TestSetuidEtc will fail.

For example: Setegid(1)
want:"Gid: 0 1 0 1"
got:"Gid: 1001 1 1001 1"

Fixes #69921

Change-Id: I74d0a006b7529b1b569120a067eb4d7c4ed2e491
GitHub-Last-Rev: 5724383eb134c8a5c2a4a5ed67e2d3999073b98b
GitHub-Pull-Request: golang/go#69922
Reviewed-on: https://go-review.googlesource.com/c/go/+/620775
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/syscall/syscall_linux_test.go

index f5d6bb8a12f898c9392640a08f81d6e8452d5667..c719be5222829a058700654a1a8a1009c159c9cf 100644 (file)
@@ -499,6 +499,9 @@ func TestSetuidEtc(t *testing.T) {
        if syscall.Getuid() != 0 {
                t.Skip("skipping root only test")
        }
+       if syscall.Getgid() != 0 {
+               t.Skip("skipping the test when root's gid is not default value 0")
+       }
        if testing.Short() && testenv.Builder() != "" && os.Getenv("USER") == "swarming" {
                // The Go build system's swarming user is known not to be root.
                // Unfortunately, it sometimes appears as root due the current