Runner-wrapper: buffer errCh to avoid goroutine leak on shutdown

What does this MR do?

runner-wrapper: buffer errCh to avoid goroutine leak on shutdown

The wrapper start() goroutine always sends exactly one error into errCh. When Run() exits early due to context cancellation, the unbuffered channel could block the sender forever.

Make errCh buffered (size 1) to ensure the start goroutine can always complete and exit cleanly.

No behavior change under normal execution.

Why was this MR needed?

start() always sends exactly one value into errCh. If Run() returns early (e.g. ctx.Done()), the send could block forever on an unbuffered channel, leaking the goroutine. A buffer of size 1 guarantees the send can complete.

What's the best way to test this MR?

  • go test ./helpers/runner_wrapper/...
  • go test ./helpers/runner_wrapper -race

What are the relevant issue numbers?

N/A

Merge request reports

Loading