Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(687)

Side by Side Diff: src/pkg/os/user/user_test.go

Issue 4589049: code review 4589049: os/user: group lookup functions
Patch Set: diff -r 17e26defe7bc https://go.googlecode.com/hg/ Created 12 years, 9 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« src/pkg/os/user/user.go ('K') | « src/pkg/os/user/user.go ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Go Authors. All rights reserved. 1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 package user 5 package user
6 6
7 import ( 7 import (
8 "os" 8 "os"
9 "reflect" 9 "reflect"
10 "runtime" 10 "runtime"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 un, err := Lookup(u.Username) 52 un, err := Lookup(u.Username)
53 if err != nil { 53 if err != nil {
54 t.Fatalf("Lookup: %v", err) 54 t.Fatalf("Lookup: %v", err)
55 } 55 }
56 if !reflect.DeepEqual(u, un) { 56 if !reflect.DeepEqual(u, un) {
57 t.Errorf("Lookup by userid vs. name didn't match\n"+ 57 t.Errorf("Lookup by userid vs. name didn't match\n"+
58 "LookupId(%d): %#v\n"+ 58 "LookupId(%d): %#v\n"+
59 "Lookup(%q): %#v\n", uid, u, u.Username, un) 59 "Lookup(%q): %#v\n", uid, u, u.Username, un)
60 } 60 }
61 } 61 }
62
63 func TestLookupGroup(t *testing.T) {
64 if skip(t) {
65 return
66 }
67
68 // Test LookupGroupId on the current user
69 gid := syscall.Getgid()
brainman 2013/03/01 00:54:33 This is not "cross-platform".
70 g, err := LookupGroupId(gid)
71 if err != nil {
72 t.Fatalf("LookupGroupId: %v", err)
73 }
74 if e, r := gid, g.Gid; e != r {
75 t.Errorf("expected Gid of %d; got %d", e, r)
76 }
77 if g.Name == "" {
78 t.Fatalf("didn't get a groupname")
79 }
80
81 members, err := g.Members()
82 if err != nil {
83 t.Fatalf("g.Members: %v", err)
84 }
85 for _, user := range members {
86 u, err := Lookup(user)
87 if err != nil {
88 t.Errorf("expected a valid group member; user=%v, err=%v ", user, err)
89 }
90 isMember, err := u.In(g)
91 if err != nil {
92 t.Fatalf("u.In: %v", err)
93 }
94 if !isMember {
95 t.Errorf("expected user to be group member; user=%v, gro up=%v, err=%v", user, g.Name, err)
96 }
97 }
98
99 // Test Lookup by groupname, using the groupname from LookupId
100 gn, err := LookupGroup(g.Name)
101 if err != nil {
102 t.Fatalf("Lookup: %v", err)
103 }
104 if !reflect.DeepEqual(g, gn) {
105 t.Errorf("Lookup by groupid vs. name didn't match\n"+
106 "LookupId(%d): %#v\n"+
107 "Lookup(%q): %#v\n", gid, g, g.Name, gn)
108 }
109 }
OLDNEW
« src/pkg/os/user/user.go ('K') | « src/pkg/os/user/user.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b