From 5eae2e62c0bcf359c2c54a345513cb56aedab070 Mon Sep 17 00:00:00 2001 From: "M. J. Fromberger" Date: Tue, 18 Jan 2022 16:36:09 -0800 Subject: [PATCH] privval: synchronize leak check with shutdown (#7629) The interaction between defers and t.Cleanup can be delicate. For this case, which regularly flakes in CI, be explicit: Defer the closes and waits before making any attempt to leaktest. --- privval/signer_client_test.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/privval/signer_client_test.go b/privval/signer_client_test.go index b77649684..d8bb25828 100644 --- a/privval/signer_client_test.go +++ b/privval/signer_client_test.go @@ -73,14 +73,15 @@ func TestSignerClose(t *testing.T) { for _, tc := range getSignerTestCases(bctx, t, logger) { t.Run(tc.name, func(t *testing.T) { - t.Cleanup(leaktest.Check(t)) - - defer tc.closer() + defer leaktest.Check(t) + defer func() { + tc.closer() + tc.signerClient.endpoint.Wait() + tc.signerServer.Wait() + }() assert.NoError(t, tc.signerClient.Close()) assert.NoError(t, tc.signerServer.Stop()) - t.Cleanup(tc.signerClient.endpoint.Wait) - t.Cleanup(tc.signerServer.Wait) }) } }