[U-Boot] [PATCH] test/py: Add support for extending timeout for large files

Michal Simek michal.simek at xilinx.com
Tue May 3 08:45:16 CEST 2016


On 2.5.2016 18:27, Stephen Warren wrote:
> On 05/02/2016 06:29 AM, Michal Simek wrote:
>> Slow network or big image filesize is not able to be finished
>> in 30s. Add option to user to extend timeout(in miliseconds).
>>
>> env__net_tftp_readable_file = {
>>      "fn": "192.168.0.105:zc706/image.ub",
>>      "addr": 0x20000000,
>>      "size": 20484981,
>>      "crc32": "873a30ae",
>>      "timeout": 50000,
> 
> Out of curiosity, I wonder why your network is so slow.

it is on 100Mbit/s and speed is 620kB/s.
In boardfarm because of high traffic this should be also selectable.




>> diff --git a/test/py/tests/test_net.py b/test/py/tests/test_net.py
> 
>> @@ -140,6 +141,11 @@ def test_net_tftpboot(u_boot_console):
>>       if not addr:
>>           addr = u_boot_utils.find_ram_base(u_boot_console)
>>
>> +    timeout = f.get('timeout', None)
>> +    if timeout:
>> +        orig_timeout = u_boot_console.p.timeout
>> +        u_boot_console.p.timeout = timeout
>> +
>>       fn = f['fn']
>>       output = u_boot_console.run_command('tftpboot %x %s' % (addr, fn))
>>       expected_text = 'Bytes transferred = '
>> @@ -157,3 +163,6 @@ def test_net_tftpboot(u_boot_console):
>>
>>       output = u_boot_console.run_command('crc32 %x $filesize' % addr)
>>       assert expected_crc in output
>> +
>> +    if timeout:
>> +        u_boot_console.p.timeout = orig_timeout
> 
> The timeout won't be correctly restored if an exception occurs. Please
> introduce a u_boot_console.temporary_timeout(to) API into
> u_boot_console_base.py (see e.g. how the existing disable_check() API
> works) and use it like:
> 
> timeout = f.get('timeout', None)
> with u_boot_console.temporary_timeout(timeout):
>   existing code
> 
> (The implementation can treat None as "no change")

ok. Will look at it if my minimal python experience allows me to do it. :-)

Thanks,
Michal



More information about the U-Boot mailing list