util/race: add test to confirm we don't leak goroutines

Updates #cleanup

Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
Change-Id: Iff147268db50251d498fff5213adb8d4b8c999d4
This commit is contained in:
Andrew Dunham 2023-10-03 17:28:07 -04:00
parent 286c6ce27c
commit 5902d51ba4

View File

@ -8,9 +8,13 @@
"errors"
"testing"
"time"
"tailscale.com/tstest"
)
func TestRaceSuccess1(t *testing.T) {
tstest.ResourceCheck(t)
const want = "success"
rh := New[string](
10*time.Second,
@ -30,6 +34,8 @@ func(context.Context) (string, error) {
}
func TestRaceRetry(t *testing.T) {
tstest.ResourceCheck(t)
const want = "fallback"
rh := New[string](
10*time.Second,
@ -48,6 +54,8 @@ func(context.Context) (string, error) {
}
func TestRaceTimeout(t *testing.T) {
tstest.ResourceCheck(t)
const want = "fallback"
rh := New[string](
100*time.Millisecond,
@ -68,6 +76,8 @@ func(ctx context.Context) (string, error) {
}
func TestRaceError(t *testing.T) {
tstest.ResourceCheck(t)
err1 := errors.New("error 1")
err2 := errors.New("error 2")