mirror of
https://github.com/golang/go
synced 2024-11-18 09:04:49 -07:00
cmd/dist, os/user: test os/user in osusergo mode as well, fix plan9 & windows
Would've caught two regressions so far, and found two more. Updates #24841 Updates #24845 (package net remains) Change-Id: I57ad06eb54e04b8c99b5d2e7f24c77ad865224e8 Reviewed-on: https://go-review.googlesource.com/107300 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
04a27bef6f
commit
f613a7bf33
12
src/cmd/dist/test.go
vendored
12
src/cmd/dist/test.go
vendored
@ -407,6 +407,18 @@ func (t *tester) registerTests() {
|
||||
}
|
||||
}
|
||||
|
||||
// Test the os/user package in the pure-Go mode too.
|
||||
if !t.compileOnly {
|
||||
t.tests = append(t.tests, distTest{
|
||||
name: "osusergo",
|
||||
heading: "os/user with tag osusergo",
|
||||
fn: func(dt *distTest) error {
|
||||
t.addCmd(dt, "src", t.goTest(), t.timeout(300), "-tags=osusergo", "os/user")
|
||||
return nil
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
if t.race {
|
||||
return
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build !cgo,!windows,!plan9 android osusergo
|
||||
// +build !cgo,!windows,!plan9 android osusergo,!windows,!plan9
|
||||
|
||||
package user
|
||||
|
||||
|
@ -5,6 +5,8 @@
|
||||
package user
|
||||
|
||||
import (
|
||||
"internal/testenv"
|
||||
"os"
|
||||
"runtime"
|
||||
"testing"
|
||||
)
|
||||
@ -16,6 +18,20 @@ func checkUser(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestCurrent(t *testing.T) {
|
||||
// The Go builders (in particular the ones using containers)
|
||||
// often have minimal environments without $HOME or $USER set,
|
||||
// which breaks Current which relies on those working as a
|
||||
// fallback.
|
||||
// TODO: we should fix that (Issue 24884) and remove these
|
||||
// workarounds.
|
||||
if testenv.Builder() != "" && runtime.GOOS != "windows" && runtime.GOOS != "plan9" {
|
||||
if os.Getenv("HOME") == "" {
|
||||
os.Setenv("HOME", "/tmp")
|
||||
}
|
||||
if os.Getenv("USER") == "" {
|
||||
os.Setenv("USER", "gobuilder")
|
||||
}
|
||||
}
|
||||
u, err := Current()
|
||||
if err != nil {
|
||||
t.Fatalf("Current: %v (got %#v)", err, u)
|
||||
|
Loading…
Reference in New Issue
Block a user