diff options
Diffstat (limited to 'internal/game/harness_test.go')
| -rw-r--r-- | internal/game/harness_test.go | 4 |
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 } |
