diff --git a/management/server/testutil/store.go b/management/server/testutil/store.go index 7f6a824a4..db418c45b 100644 --- a/management/server/testutil/store.go +++ b/management/server/testutil/store.go @@ -48,10 +48,13 @@ func CreateMysqlTestContainer() (func(), string, error) { } cleanup := func() { - timeoutCtx, cancelFunc := context.WithTimeout(ctx, 1*time.Second) - defer cancelFunc() - if err = mysqlContainer.Terminate(timeoutCtx); err != nil { - log.WithContext(ctx).Warnf("failed to stop mysql container %s: %s", mysqlContainer.GetContainerID(), err) + if mysqlContainer != nil { + timeoutCtx, cancelFunc := context.WithTimeout(ctx, 1*time.Second) + defer cancelFunc() + if err = mysqlContainer.Terminate(timeoutCtx); err != nil { + log.WithContext(ctx).Warnf("failed to stop mysql container %s: %s", mysqlContainer.GetContainerID(), err) + } + mysqlContainer = nil // reset the container to allow recreation } } @@ -91,11 +94,15 @@ func CreatePostgresTestContainer() (func(), string, error) { } cleanup := func() { - timeoutCtx, cancelFunc := context.WithTimeout(ctx, 1*time.Second) - defer cancelFunc() - if err = pgContainer.Terminate(timeoutCtx); err != nil { - log.WithContext(ctx).Warnf("failed to stop postgres container %s: %s", pgContainer.GetContainerID(), err) + if pgContainer != nil { + timeoutCtx, cancelFunc := context.WithTimeout(ctx, 1*time.Second) + defer cancelFunc() + if err = pgContainer.Terminate(timeoutCtx); err != nil { + log.WithContext(ctx).Warnf("failed to stop postgres container %s: %s", pgContainer.GetContainerID(), err) + } + pgContainer = nil // reset the container to allow recreation } + } talksConn, err := pgContainer.ConnectionString(ctx)