diff options
| author | Percy Wegmann <percy@tailscale.com> | 2025-12-10 12:46:34 -0600 |
|---|---|---|
| committer | Percy Wegmann <percy@tailscale.com> | 2025-12-10 12:46:34 -0600 |
| commit | b6ac2220be84ae9aefd7e8ec7634a3ec6d2a36f2 (patch) | |
| tree | 19f2f4d087544d4ca21a415baec2d10ffcd5a47c /appc | |
| parent | d349370e5500e6f583a15e38ad945199e5e11ea1 (diff) | |
| download | tailscale-percy/corp35008.tar.xz tailscale-percy/corp35008.zip | |
Try to get rid of tstest.Clockpercy/corp35008
Signed-off-by: Percy Wegmann <percy@tailscale.com>
Diffstat (limited to 'appc')
| -rw-r--r-- | appc/appconnector_test.go | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/appc/appconnector_test.go b/appc/appconnector_test.go index 5c362d6fd..ec2561fbb 100644 --- a/appc/appconnector_test.go +++ b/appc/appconnector_test.go @@ -11,13 +11,13 @@ import ( "slices" "sync/atomic" "testing" + "testing/synctest" "time" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "golang.org/x/net/dns/dnsmessage" "tailscale.com/appc/appctest" - "tailscale.com/tstest" "tailscale.com/types/appctype" "tailscale.com/util/clientmetric" "tailscale.com/util/eventbus/eventbustest" @@ -689,50 +689,51 @@ func TestRoutesWithout(t *testing.T) { } func TestRateLogger(t *testing.T) { - clock := tstest.Clock{} - wasCalled := false - rl := newRateLogger(func() time.Time { return clock.Now() }, 1*time.Second, func(count int64, _ time.Time, _ int64) { - if count != 3 { - t.Fatalf("count for prev period: got %d, want 3", count) + synctest.Test(t, func(t *testing.T) { + wasCalled := false + rl := newRateLogger(time.Now, 1*time.Second, func(count int64, _ time.Time, _ int64) { + if count != 3 { + t.Fatalf("count for prev period: got %d, want 3", count) + } + wasCalled = true + }) + + for i := 0; i < 3; i++ { + time.Sleep(1 * time.Millisecond) + rl.update(0) + if wasCalled { + t.Fatalf("wasCalled: got true, want false") + } } - wasCalled = true - }) - for i := 0; i < 3; i++ { - clock.Advance(1 * time.Millisecond) + time.Sleep(1 * time.Second) rl.update(0) - if wasCalled { - t.Fatalf("wasCalled: got true, want false") + if !wasCalled { + t.Fatalf("wasCalled: got false, want true") } - } - clock.Advance(1 * time.Second) - rl.update(0) - if !wasCalled { - t.Fatalf("wasCalled: got false, want true") - } + wasCalled = false + rl = newRateLogger(time.Now, 1*time.Hour, func(count int64, _ time.Time, _ int64) { + if count != 3 { + t.Fatalf("count for prev period: got %d, want 3", count) + } + wasCalled = true + }) - wasCalled = false - rl = newRateLogger(func() time.Time { return clock.Now() }, 1*time.Hour, func(count int64, _ time.Time, _ int64) { - if count != 3 { - t.Fatalf("count for prev period: got %d, want 3", count) + for i := 0; i < 3; i++ { + time.Sleep(1 * time.Minute) + rl.update(0) + if wasCalled { + t.Fatalf("wasCalled: got true, want false") + } } - wasCalled = true - }) - for i := 0; i < 3; i++ { - clock.Advance(1 * time.Minute) + time.Sleep(1 * time.Hour) rl.update(0) - if wasCalled { - t.Fatalf("wasCalled: got true, want false") + if !wasCalled { + t.Fatalf("wasCalled: got false, want true") } - } - - clock.Advance(1 * time.Hour) - rl.update(0) - if !wasCalled { - t.Fatalf("wasCalled: got false, want true") - } + }) } func TestRouteStoreMetrics(t *testing.T) { |
