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.
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")
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot