test: Check exit status in run_and_log_expect_exception()

This check was missed. Add it and make the message more verbose.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Tom Rini <trini@konsulko.com>
Fixes: 9e17b034 (test/py: Provide a way to check that a command fails)
master
Simon Glass 8 years ago committed by Tom Rini
parent bcbd0c8fe1
commit 7f64b1874c
  1. 2
      test/py/multiplexed_log.py
  2. 4
      test/py/u_boot_utils.py

@ -102,6 +102,7 @@ class RunAndLog(object):
self.name = name
self.chained_file = chained_file
self.output = None
self.exit_status = None
def close(self):
"""Clean up any resources managed by this object."""
@ -166,6 +167,7 @@ class RunAndLog(object):
# Store the output so it can be accessed if we raise an exception.
self.output = output
self.exit_status = exit_status
if exception:
raise exception
return output

@ -201,9 +201,11 @@ def run_and_log_expect_exception(u_boot_console, cmd, retcode, msg):
runner = u_boot_console.log.get_runner(cmd[0], sys.stdout)
runner.run(cmd)
except Exception as e:
assert(retcode == runner.exit_status)
assert(msg in runner.output)
else:
raise Exception('Expected exception, but not raised')
raise Exception("Expected an exception with retcode %d message '%s',"
"but it was not raised" % (retcode, msg))
finally:
runner.close()

Loading…
Cancel
Save