aboutsummaryrefslogtreecommitdiff
path: root/internal/game/harness_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/harness_test.go')
-rw-r--r--internal/game/harness_test.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/game/harness_test.go b/internal/game/harness_test.go
index ff5ac32..3bdce0f 100644
--- a/internal/game/harness_test.go
+++ b/internal/game/harness_test.go
@@ -123,6 +123,10 @@ func newHarness(t *testing.T) *harness {
conns: make(map[string]*chanConn),
}
h.stop = func() { close(stopTick); <-done }
+ // Stop the Game's owner goroutine too, or every harness test leaks one
+ // (each holding a 4096-slot channel) for the life of the test binary.
+ // Cleanup is LIFO, so the ticker stops first, then the owner.
+ t.Cleanup(g.stopOwner)
t.Cleanup(h.stop)
return h
}