Jakub Kicinski <[email protected]> writes:
> bkg() failures are currently quite hard to debug and spot.
> Often we have code along the lines of:
>
> with bkg("./cmd_rx_something -p PORT"):
> wait_port_listen(PORT)
> cmd("./cmd_tx_something", host=remote)
>
> When wait_port_listen() fails we don't get to see the exit status
> of bkg(). Even tho very often it's a failure in the bkg() command
> that's actually to blame. Try not to interfere with the bkg()
> command error checking.
>
> With:
>
> with bkg("false", exit_wait=True):
> time.sleep(0.01) # let the 'false' cmd run
> raise Exception("bla")
>
> Before:
>
> .. stack trace ..
> # Exception| Exception: bla
>
> After:
>
> .. stack trace ..
> # Exception| Exception: bla
> # Exception|
> # Exception| During handling of the above exception, another exception
> occurred:
> .. stack trace ..
> # Exception| lib.py.utils.CmdExitFailure: Command failed: false
> # Exception| STDOUT: b''
> # Exception| STDERR: b''
>
> Signed-off-by: Jakub Kicinski <[email protected]>
Reviewed-by: Petr Machata <[email protected]>