diff options
author | Simon Glass <sjg@chromium.org> | 2024-06-23 14:30:30 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-07-04 09:25:21 -0600 |
commit | 190933fbb56775f0415c885be38854cac41faaf2 (patch) | |
tree | 3f9c7b754aa94928a2e99fe53c1b66f917a60e64 /test | |
parent | ceffbfb629eb469f05a4d1bf92bf20515a1df0c9 (diff) | |
download | u-boot-190933fbb56775f0415c885be38854cac41faaf2.tar.gz u-boot-190933fbb56775f0415c885be38854cac41faaf2.tar.bz2 u-boot-190933fbb56775f0415c885be38854cac41faaf2.zip |
test: Decode exceptions only with sandbox
When a real board fails we don't want to decode the exception. Reserve
that behaviour for sandbox. Also avoid raising a new exception on
failure - just re-raise the existing one.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/py/u_boot_console_sandbox.py | 2 | ||||
-rw-r--r-- | test/py/u_boot_spawn.py | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/test/py/u_boot_console_sandbox.py b/test/py/u_boot_console_sandbox.py index 27c6db8d71..7bc44c78b8 100644 --- a/test/py/u_boot_console_sandbox.py +++ b/test/py/u_boot_console_sandbox.py @@ -58,7 +58,7 @@ class ConsoleSandbox(ConsoleBase): if self.use_dtb: cmd += ['-d', self.config.dtb] cmd += self.sandbox_flags - return Spawn(cmd, cwd=self.config.source_dir) + return Spawn(cmd, cwd=self.config.source_dir, decode_signal=True) def restart_uboot_with_flags(self, flags, expect_reset=False, use_dtb=True): """Run U-Boot with the given command-line flags diff --git a/test/py/u_boot_spawn.py b/test/py/u_boot_spawn.py index 7c48d96210..97e95e07c8 100644 --- a/test/py/u_boot_spawn.py +++ b/test/py/u_boot_spawn.py @@ -24,18 +24,20 @@ class Spawn: output: accumulated output from expect() """ - def __init__(self, args, cwd=None): + def __init__(self, args, cwd=None, decode_signal=False): """Spawn (fork/exec) the sub-process. Args: args: array of processs arguments. argv[0] is the command to execute. cwd: the directory to run the process in, or None for no change. + decode_signal (bool): True to indicate the exception number when + something goes wrong Returns: Nothing. """ - + self.decode_signal = decode_signal self.waited = False self.exit_code = 0 self.exit_info = '' @@ -197,12 +199,12 @@ class Spawn: # With sandbox, try to detect when U-Boot exits when it # shouldn't and explain why. This is much more friendly than # just dying with an I/O error - if err.errno == 5: # Input/output error + if self.decode_signal and err.errno == 5: # I/O error alive, _, info = self.checkalive() if alive: raise err raise ValueError('U-Boot exited with %s' % info) - raise err + raise if self.logfile_read: self.logfile_read.write(c) self.buf += c |