]> Cypherpunks repositories - gostls13.git/commitdiff
os/user: skip tests that create users when running on dev machines
authorqmuntal <quimmuntal@gmail.com>
Mon, 18 Nov 2024 10:07:07 +0000 (11:07 +0100)
committerGopher Robot <gobot@golang.org>
Mon, 18 Nov 2024 20:45:28 +0000 (20:45 +0000)
Creating and deleting users is tricky to get right, and it's not
something we want to do on a developer machine. This change skips the
tests that create users when not running on a Go builder.

This will fix #70396, although I still don't understand why the test
user couldn't be recreated.

Fixes #70396

Change-Id: Ie7004dc209f94e72152c7d6bd8ec95cc12c79757
Reviewed-on: https://go-review.googlesource.com/c/go/+/627877
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
src/os/user/user_windows_test.go

index 635b6f3513c99bfbf04b29a6c0daab5eb1d1d5cb..c71503372e01073fd8e4f16c4c4458f3b2b6c051 100644 (file)
@@ -24,6 +24,13 @@ import (
 // If the user already exists, it will be deleted and recreated.
 // The caller is responsible for closing the token.
 func windowsTestAccount(t *testing.T) (syscall.Token, *User) {
+       if testenv.Builder() == "" {
+               // Adding and deleting users requires special permissions.
+               // Even if we have them, we don't want to create users on
+               // on dev machines, as they may not be cleaned up.
+               // See https://dev.go/issue/70396.
+               t.Skip("skipping non-hermetic test outside of Go builders")
+       }
        const testUserName = "GoStdTestUser01"
        var password [33]byte
        rand.Read(password[:])