(t *testing.T)
| 156 | } |
| 157 | |
| 158 | func TestMemLSLookup(t *testing.T) { |
| 159 | now := time.Unix(0, 0) |
| 160 | m := NewMemLS().(*memLS) |
| 161 | |
| 162 | badToken := m.nextToken() |
| 163 | t.Logf("badToken=%q", badToken) |
| 164 | |
| 165 | for _, name := range lockTestNames { |
| 166 | token, err := m.Create(now, LockDetails{ |
| 167 | Root: name, |
| 168 | Duration: infiniteTimeout, |
| 169 | ZeroDepth: lockTestZeroDepth(name), |
| 170 | }) |
| 171 | if err != nil { |
| 172 | t.Fatalf("creating lock for %q: %v", name, err) |
| 173 | } |
| 174 | t.Logf("%-15q -> node=%p token=%q", name, m.byName[name], token) |
| 175 | } |
| 176 | |
| 177 | baseNames := append([]string{"/a", "/b/c"}, lockTestNames...) |
| 178 | for _, baseName := range baseNames { |
| 179 | for _, suffix := range []string{"", "/0", "/1/2/3"} { |
| 180 | name := baseName + suffix |
| 181 | |
| 182 | goodToken := "" |
| 183 | base := m.byName[baseName] |
| 184 | if base != nil && (suffix == "" || !lockTestZeroDepth(baseName)) { |
| 185 | goodToken = base.token |
| 186 | } |
| 187 | |
| 188 | for _, token := range []string{badToken, goodToken} { |
| 189 | if token == "" { |
| 190 | continue |
| 191 | } |
| 192 | |
| 193 | got := m.lookup(name, Condition{Token: token}) |
| 194 | want := base |
| 195 | if token == badToken { |
| 196 | want = nil |
| 197 | } |
| 198 | if got != want { |
| 199 | t.Errorf("name=%-20qtoken=%q (bad=%t): got %p, want %p", |
| 200 | name, token, token == badToken, got, want) |
| 201 | } |
| 202 | } |
| 203 | } |
| 204 | } |
| 205 | } |
| 206 | |
| 207 | func TestMemLSConfirm(t *testing.T) { |
| 208 | now := time.Unix(0, 0) |
nothing calls this directly
no test coverage detected