On 18.5.2016 15:11, Michal Simek wrote: > 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 <[email protected]> > --- > > test/py/u_boot_console_base.py | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > > diff --git a/test/py/u_boot_console_base.py b/test/py/u_boot_console_base.py > index f7434363fbcb..82bbba43463e 100644 > --- a/test/py/u_boot_console_base.py > +++ b/test/py/u_boot_console_base.py > @@ -56,6 +56,24 @@ 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 setup > + timeout for specific comnand. This is useful when execution time is > greater > + then default 30s.""" > + > + def __init__(self, console, timeout): > + self.console = console > + self.console.orig_timeout = self.console.p.timeout > + self.console.p.timeout = timeout > + > + def __enter__(self): > + return self > + > + def __exit__(self, extype, value, traceback): > + self.console.p = self.console.get_spawn()
This line should be there. It is resetting console. I will do more testing on real hw not on qemu. Thanks, Michal > + self.console.p.timeout = self.console.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 +409,18 @@ class ConsoleBase(object): > """ > > return ConsoleDisableCheck(self, check_type) > + > + def temporary_timeout(self, timeout): > + """Temporarily setup different timeout for commands. > + > + Create a new context manager (for use with the "with" statement) > which > + temporarily change timeout. > + > + Args: > + timeout: Time in miliseconds. > + > + Returns: > + A context manager object. > + """ > + > + return ConsoleSetupTimeout(self, timeout) > -- Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/ Maintainer of Linux kernel - Xilinx Zynq ARM architecture Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
signature.asc
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

