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())
|
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
|
ram_base = None
|
||||||
def find_ram_base(u_boot_console):
|
def find_ram_base(u_boot_console):
|
||||||
"""Find the running U-Boot's RAM location.
|
"""Find the running U-Boot's RAM location.
|
||||||
|
|
Loading…
Reference in New Issue