dap: ensure test client is closed on cleanup
The dap test wasn't waiting for the client's goroutines to complete before exiting which caused a race condition that could cause it to log to the dead test logger. This became apparent when `--count` of greater than one was used since it caused the test to run long enough to trigger the behavior. It would have also triggered if we had added more tests. Add the client close to the cleanup so it waits for the goroutine to finish before the test exits as it was properly supposed to do. Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
This commit is contained in:
+3
-5
@@ -14,8 +14,6 @@ import (
|
||||
)
|
||||
|
||||
func TestLaunch(t *testing.T) {
|
||||
t.Skip("test fails with errgroup v0.16.0, that doesn't swallow panic in goroutine")
|
||||
|
||||
adapter, conn, client := NewTestAdapter[common.Config](t)
|
||||
|
||||
ctx, cancel := context.WithTimeoutCause(context.Background(), 10*time.Second, context.DeadlineExceeded)
|
||||
@@ -83,14 +81,14 @@ func NewTestAdapter[C LaunchConfig](t *testing.T) (*Adapter[C], Conn, *Client) {
|
||||
})
|
||||
|
||||
clientConn := logConn(t, "client", NewConn(rd2, wr1))
|
||||
t.Cleanup(func() {
|
||||
clientConn.Close()
|
||||
})
|
||||
t.Cleanup(func() { clientConn.Close() })
|
||||
|
||||
adapter := New[C]()
|
||||
t.Cleanup(func() { adapter.Stop() })
|
||||
|
||||
client := NewClient(clientConn)
|
||||
t.Cleanup(func() { client.Close() })
|
||||
|
||||
return adapter, srvConn, client
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user