mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
test/py: Support setting up specific timeout
Large file transfers, flash erasing and more complicated tests requires more time to finish. Provide a way to setup specific timeout directly in test. For example description for 50s test: timeout = 50000 with u_boot_console.temporary_timeout(timeout): u_boot_console.run_command(...) Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
This commit is contained in:
parent
c9cfac5d30
commit
87861c1970
1 changed files with 31 additions and 0 deletions
|
@ -56,6 +56,22 @@ class ConsoleDisableCheck(object):
|
|||
self.console.disable_check_count[self.check_type] -= 1
|
||||
self.console.eval_bad_patterns()
|
||||
|
||||
class ConsoleSetupTimeout(object):
|
||||
"""Context manager (for Python's with statement) that temporarily sets up
|
||||
timeout for specific command. This is useful when execution time is greater
|
||||
then default 30s."""
|
||||
|
||||
def __init__(self, console, timeout):
|
||||
self.p = console.p
|
||||
self.orig_timeout = self.p.timeout
|
||||
self.p.timeout = timeout
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, extype, value, traceback):
|
||||
self.p.timeout = self.orig_timeout
|
||||
|
||||
class ConsoleBase(object):
|
||||
"""The interface through which test functions interact with the U-Boot
|
||||
console. This primarily involves executing shell commands, capturing their
|
||||
|
@ -391,3 +407,18 @@ class ConsoleBase(object):
|
|||
"""
|
||||
|
||||
return ConsoleDisableCheck(self, check_type)
|
||||
|
||||
def temporary_timeout(self, timeout):
|
||||
"""Temporarily set up different timeout for commands.
|
||||
|
||||
Create a new context manager (for use with the "with" statement) which
|
||||
temporarily change timeout.
|
||||
|
||||
Args:
|
||||
timeout: Time in milliseconds.
|
||||
|
||||
Returns:
|
||||
A context manager object.
|
||||
"""
|
||||
|
||||
return ConsoleSetupTimeout(self, timeout)
|
||||
|
|
Loading…
Reference in a new issue