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>
// 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[:])