diff --git a/test/integration/consul-container/libs/service/connect.go b/test/integration/consul-container/libs/service/connect.go index 36df4e09f769..ae8792256f68 100644 --- a/test/integration/consul-container/libs/service/connect.go +++ b/test/integration/consul-container/libs/service/connect.go @@ -68,14 +68,17 @@ func (g ConnectContainer) GetPort(port int) (int, error) { } func (g ConnectContainer) Restart() error { - _, err := g.GetStatus() - if err != nil { - return fmt.Errorf("error fetching sidecar container state %s", err) + var deferClean utils.ResettableDefer + defer deferClean.Execute() + + if utils.FollowLog { + if err := g.container.StopLogProducer(); err != nil { + return fmt.Errorf("stopping log producer: %w", err) + } } fmt.Printf("Stopping container: %s\n", g.GetName()) - err = g.container.Stop(g.ctx, nil) - + err := g.container.Stop(g.ctx, nil) if err != nil { return fmt.Errorf("error stopping sidecar container %s", err) } @@ -85,6 +88,17 @@ func (g ConnectContainer) Restart() error { if err != nil { return fmt.Errorf("error starting sidecar container %s", err) } + + if utils.FollowLog { + if err := g.container.StartLogProducer(g.ctx); err != nil { + return fmt.Errorf("starting log producer: %w", err) + } + g.container.FollowOutput(&LogConsumer{}) + deferClean.Add(func() { + _ = g.container.StopLogProducer() + }) + } + return nil }