summaryrefslogtreecommitdiffhomepage
path: root/appc
diff options
context:
space:
mode:
authorPercy Wegmann <percy@tailscale.com>2025-12-10 12:46:34 -0600
committerPercy Wegmann <percy@tailscale.com>2025-12-10 12:46:34 -0600
commitb6ac2220be84ae9aefd7e8ec7634a3ec6d2a36f2 (patch)
tree19f2f4d087544d4ca21a415baec2d10ffcd5a47c /appc
parentd349370e5500e6f583a15e38ad945199e5e11ea1 (diff)
downloadtailscale-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.go71
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) {