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>
func init() {
userImplemented = false
groupImplemented = false
+ groupListImplemented = false
}
func current() (*User, error) {
)
func init() {
- groupImplemented = false
+ groupListImplemented = false
}
func current() (*User, error) {
"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.
"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.
}
}
+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")
}