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]>

Reply via email to