diff options
| author | Nick Khyl <nickk@tailscale.com> | 2024-12-05 13:16:48 -0600 |
|---|---|---|
| committer | Nick Khyl <nickk@tailscale.com> | 2024-12-05 13:16:48 -0600 |
| commit | 0267fe83b200f1702a2fa0a395442c02a053fadb (patch) | |
| tree | 63654c55225eeb834de59a5a0bc8d19033c6145b /ipn/ipnserver/server_test.go | |
| parent | 87546a5edf6b6503a87eeb2d666baba57398a066 (diff) | |
| download | tailscale-1.78.0.tar.xz tailscale-1.78.0.zip | |
VERSION.txt: this is v1.78.0v1.78.0
Signed-off-by: Nick Khyl <nickk@tailscale.com>
Diffstat (limited to 'ipn/ipnserver/server_test.go')
| -rw-r--r-- | ipn/ipnserver/server_test.go | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/ipn/ipnserver/server_test.go b/ipn/ipnserver/server_test.go index b7d5ea144..49fb4d01f 100644 --- a/ipn/ipnserver/server_test.go +++ b/ipn/ipnserver/server_test.go @@ -1,46 +1,46 @@ -// Copyright (c) Tailscale Inc & AUTHORS -// SPDX-License-Identifier: BSD-3-Clause - -package ipnserver - -import ( - "context" - "sync" - "testing" -) - -func TestWaiterSet(t *testing.T) { - var s waiterSet - - wantLen := func(want int, when string) { - t.Helper() - if got := len(s); got != want { - t.Errorf("%s: len = %v; want %v", when, got, want) - } - } - wantLen(0, "initial") - var mu sync.Mutex - ctx, cancel := context.WithCancel(context.Background()) - - ready, cleanup := s.add(&mu, ctx) - wantLen(1, "after add") - - select { - case <-ready: - t.Fatal("should not be ready") - default: - } - s.wakeAll() - <-ready - - wantLen(1, "after fire") - cleanup() - wantLen(0, "after cleanup") - - // And again but on an already-expired ctx. - cancel() - ready, cleanup = s.add(&mu, ctx) - <-ready // shouldn't block - cleanup() - wantLen(0, "at end") -} +// Copyright (c) Tailscale Inc & AUTHORS
+// SPDX-License-Identifier: BSD-3-Clause
+
+package ipnserver
+
+import (
+ "context"
+ "sync"
+ "testing"
+)
+
+func TestWaiterSet(t *testing.T) {
+ var s waiterSet
+
+ wantLen := func(want int, when string) {
+ t.Helper()
+ if got := len(s); got != want {
+ t.Errorf("%s: len = %v; want %v", when, got, want)
+ }
+ }
+ wantLen(0, "initial")
+ var mu sync.Mutex
+ ctx, cancel := context.WithCancel(context.Background())
+
+ ready, cleanup := s.add(&mu, ctx)
+ wantLen(1, "after add")
+
+ select {
+ case <-ready:
+ t.Fatal("should not be ready")
+ default:
+ }
+ s.wakeAll()
+ <-ready
+
+ wantLen(1, "after fire")
+ cleanup()
+ wantLen(0, "after cleanup")
+
+ // And again but on an already-expired ctx.
+ cancel()
+ ready, cleanup = s.add(&mu, ctx)
+ <-ready // shouldn't block
+ cleanup()
+ wantLen(0, "at end")
+}
|
