From: Andrey Smirnov Date: Wed, 12 Jul 2017 02:40:04 +0000 (-0700) Subject: testing/infra/emulator: allow to specify pexpect timeout X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=255b8ab406cf6ce114b4d2c2e2c0dba6e4402f38;p=buildroot.git testing/infra/emulator: allow to specify pexpect timeout Some commands take more than 5 seconds to complete under QEMU, so add provisions to allow individual unit-test to specify different duration to avoid false negative test failures. Signed-off-by: Andrey Smirnov Reviewed-by: Ricardo Martincoski Tested-by: Ricardo Martincoski Signed-off-by: Thomas Petazzoni --- diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py index a39d59b881..9b079cbf23 100644 --- a/support/testing/infra/emulator.py +++ b/support/testing/infra/emulator.py @@ -89,11 +89,11 @@ class Emulator(object): raise SystemError("Cannot login") self.run("dmesg -n 1") - # Run the given 'cmd' on the target + # Run the given 'cmd' with a 'timeout' on the target # return a tuple (output, exit_code) - def run(self, cmd): + def run(self, cmd, timeout=-1): self.qemu.sendline(cmd) - self.qemu.expect("# ") + self.qemu.expect("# ", timeout=timeout) # Remove double carriage return from qemu stdout so str.splitlines() # works as expected. output = self.qemu.before.replace("\r\r", "\r").splitlines()[1:]