
On 09/20/2018 09:24 PM, Stephen Warren wrote:
From: Stephen Warren swarren@nvidia.com
After a test has failed, test/py drains the U-Boot console log to ensure that any relevant output is captured. At this point, we don't care about detecting any additional errors, since the test is already known to have failed, and U-Boot will be restarted. To ensure that the test cleanup code is not interrupted, and can correctly terminate the log sections for the failed test, ignore any exception that occurs while reading the U-Boot console output during this limited period of time.
Signed-off-by: Stephen Warren swarren@nvidia.com
test/py/u_boot_console_base.py | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/test/py/u_boot_console_base.py b/test/py/u_boot_console_base.py index a14bad6e8c50..e337f3a84a96 100644 --- a/test/py/u_boot_console_base.py +++ b/test/py/u_boot_console_base.py @@ -305,6 +305,17 @@ class ConsoleBase(object): # cause the console output to be read and logged. self.p.expect(['This should never match U-Boot output']) except u_boot_spawn.Timeout:
# We expect a timeout, since U-Boot won't print what we waited
# for. Squash the expected timeout exception.
pass
This block is redundant. You have a catch-all below with the same processing of the exception. So I would rather drop it. The comment could be integrated below.
Timeout exceptions are currently caught in test/py/u_boot_console_base.py:307 Your patch could delete that 'except' as it becomes superfluous now.
Otherwise I am fine with this patch.
Best regards
Heinrich
except:
# Squash any other exception too. This function is only used to
# drain (and log) the U-Boot console output after a failed test.
# The U-Boot process will be restarted, or target board reset, once
# this function returns. So, we don't care about detecting any
# additional errors, so they're squashed so that the rest of the
# post-test-failure cleanup code can continue operation, and
# correctly terminate any log sections, etc. pass finally: self.p.timeout = orig_timeout