[Buildroot] [PATCH 1/3] testing/infra/emulator: allow to specify pexpect timeout
Andrey Smirnov
andrew.smirnov at gmail.com
Wed Jul 5 21:27:09 UTC 2017
On Wed, Jul 5, 2017 at 3:57 AM, Thomas Petazzoni
<thomas.petazzoni at free-electrons.com> wrote:
> Hello,
>
> First of all, thanks a lot for working on the testing infrastructure.
> It's nice to see people progressively making use of it!
>
> I however have one comment below.
>
> On Tue, 4 Jul 2017 11:58:05 -0700, Andrey Smirnov wrote:
>> 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 <andrew.smirnov at gmail.com>
>> ---
>> support/testing/infra/emulator.py | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py
>> index a39d59b..4e988a4 100644
>> --- a/support/testing/infra/emulator.py
>> +++ b/support/testing/infra/emulator.py
>> @@ -26,7 +26,10 @@ class Emulator(object):
>> #
>> # options: array of command line options to pass to Qemu
>> #
>> - def boot(self, arch, kernel=None, kernel_cmdline=None, options=None):
>> + # timeout: timeout to wait for when excuting commands
>> + #
>> + def boot(self, arch, kernel=None, kernel_cmdline=None,
>> + options=None, timeout=5):
>
> I don't really like the fact that the timeout is passed at boot() and
> then applies to the entire pexpect session.
>
> Indeed, within a single pexpect session, we may have some commands that
> are expected to be short, some commands that are expected to be long.
>
> The .expect() method of the spawn class does have a timeout argument,
> so I believe we could do that per-command.
>
> Do you think it would be possible to instead add the timeout to
> emulator.run() instead, and use it only when starting the interpreter ?
>
Yeah, I agree, it's a better idea to make "timeout" a parameter for
"emulator.run()". Will do in v2.
Thanks,
Andrey Smirnov
More information about the buildroot
mailing list