mirror of
https://github.com/golang/go
synced 2024-11-26 17:46:57 -07:00
os/user: don't skip TestLookupGroup if supported
CL 37664 implemented this functionality, yet the tests were skipped. Introduce and use additional variable groupListImplemented to distinguish between these cases and enable TestLookupGroup for supported configurations (which looks like all but plan9). Change-Id: Iabaa7f08b4551dc67e67bdb6e715f15bb20d6218 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/330751 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
This commit is contained in:
parent
de1c934b97
commit
41b99dab0f
@ -20,6 +20,7 @@ const (
|
||||
func init() {
|
||||
userImplemented = false
|
||||
groupImplemented = false
|
||||
groupListImplemented = false
|
||||
}
|
||||
|
||||
func current() (*User, error) {
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
groupImplemented = false
|
||||
groupListImplemented = false
|
||||
}
|
||||
|
||||
func current() (*User, error) {
|
||||
|
@ -18,13 +18,15 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
const groupFile = "/etc/group"
|
||||
const userFile = "/etc/passwd"
|
||||
const (
|
||||
groupFile = "/etc/group"
|
||||
userFile = "/etc/passwd"
|
||||
)
|
||||
|
||||
var colon = []byte{':'}
|
||||
|
||||
func init() {
|
||||
groupImplemented = false
|
||||
groupListImplemented = false
|
||||
}
|
||||
|
||||
// lineFunc returns a value, an error, or (nil, nil) to skip the row.
|
||||
|
@ -20,9 +20,12 @@ import (
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// These may be set to false in init() for a particular platform and/or
|
||||
// build flags to let the tests know to skip tests of some features.
|
||||
var (
|
||||
userImplemented = true // set to false by lookup_stubs.go's init
|
||||
groupImplemented = true // set to false by lookup_stubs.go's init
|
||||
userImplemented = true
|
||||
groupImplemented = true
|
||||
groupListImplemented = true
|
||||
)
|
||||
|
||||
// User represents a user account.
|
||||
|
@ -119,8 +119,15 @@ func TestLookupGroup(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func checkGroupList(t *testing.T) {
|
||||
t.Helper()
|
||||
if !groupListImplemented {
|
||||
t.Skip("user: group list not implemented; skipping test")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGroupIds(t *testing.T) {
|
||||
checkGroup(t)
|
||||
checkGroupList(t)
|
||||
if runtime.GOOS == "aix" {
|
||||
t.Skip("skipping GroupIds, see golang.org/issue/30563")
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user