[test] Correct timeout handling in system test Process.run
[test] Correct timeout handling in system test Process.run

I noticed this because the function was raising a
subprocess.TimeoutExpired on failure without providing any arguments.
That's also not quite right: we might get to EOF without the magic
pattern without timing out. So I've fixed that too.

Signed-off-by: Rupert Swarbrick <290093e2ad2515ed2f14d749293c8cf8e02ca274@lowrisc.org>

lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan,lowRISC/opentitan