test/py: Provide a way to check that a command fails
Sometimes we want to run a command and check that it fails. Add a function to handle this. It can check the return code and also make sure that the output contains a given error message. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
8b304a37df
commit
9e17b0345a
@ -185,6 +185,28 @@ def cmd(u_boot_console, cmd_str):
|
||||
"""
|
||||
return run_and_log(u_boot_console, cmd_str.split())
|
||||
|
||||
def run_and_log_expect_exception(u_boot_console, cmd, retcode, msg):
|
||||
"""Run a command which is expected to fail.
|
||||
|
||||
This runs a command and checks that it fails with the expected return code
|
||||
and exception method. If not, an exception is raised.
|
||||
|
||||
Args:
|
||||
u_boot_console: A console connection to U-Boot.
|
||||
cmd: The command to run, as an array of argv[].
|
||||
retcode: Expected non-zero return code from the command.
|
||||
msg: String which should be contained within the command's output.
|
||||
"""
|
||||
try:
|
||||
runner = u_boot_console.log.get_runner(cmd[0], sys.stdout)
|
||||
runner.run(cmd)
|
||||
except Exception as e:
|
||||
assert(msg in runner.output)
|
||||
else:
|
||||
raise Exception('Expected exception, but not raised')
|
||||
finally:
|
||||
runner.close()
|
||||
|
||||
ram_base = None
|
||||
def find_ram_base(u_boot_console):
|
||||
"""Find the running U-Boot's RAM location.
|
||||
|
Loading…
Reference in New Issue
Block a user