test/py: Add support for extending timeout for large files
PATCH 1/1 test/py: Add support for extending timeout for large files
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,
}---
test/py/tests/test_net.py | 9 +++++++++ 1 file changed, 9 insertions(+)
test/py/tests/test_net.py +9 -0
@@ -46,6 +46,7 @@ env__net_tftp_readable_file = { "addr": 0x10000000, "size": 5058624, "crc32": "c2244b26", + "timeout": 50000, } """
@@ -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
Signature · 1 line
1.9.1
PATCH 1/1 test/py: Add support for extending timeout for large files
Quoted 9 lines · Michal Simek
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.
Quoted 15 lines
test/py/tests/test_net.py +5
-0@@ -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 = '
test/py/tests/test_net.py def test_net_tftpboot(u_boot_console): · line 168
Quoted 6 lines
test/py/tests/test_net.py +3
-0@@ -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")
PATCH 1/1 test/py: Add support for extending timeout for large files
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Michal Simek
Slow network or big image filesize is not able to be finished in 30s. Add option to user to extend timeout(in miliseconds).
Quoted 8 lines
Quoted 6 lines
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.
Quoted 27 lines
Quoted 15 lines
test/py/tests/test_net.py +5
-0@@ -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 = 'test/py/tests/test_net.py def test_net_tftpboot(u_boot_console): · line 168
Quoted 6 lines
test/py/tests/test_net.py +3
-0@@ -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_timeoutThe timeout won't be correctly restored if an exception occurs. Please introduce a
u_boot_console.temporary_timeout(to)API intou_boot_console_base.py(see e.g. how the existingdisable_check()API works) and use it like:
Quoted 5 lines
timeout =
f.get('timeout', None)
withu_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
PATCH 1/1 test/py: Add support for extending timeout for large files
Quoted 47 lines · Michal Simek
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Michal Simek
Slow network or big image filesize is not able to be finished in 30s. Add option to user to extend timeout(in miliseconds).
Quoted 8 lines
Quoted 6 lines
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.Quoted 27 lines
Quoted 15 lines
test/py/tests/test_net.py +5
-0@@ -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 = 'test/py/tests/test_net.py def test_net_tftpboot(u_boot_console): · line 168
Quoted 6 lines
test/py/tests/test_net.py +3
-0@@ -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_timeoutThe timeout won't be correctly restored if an exception occurs. Please introduce a
u_boot_console.temporary_timeout(to)API intou_boot_console_base.py(see e.g. how the existingdisable_check()API works) and use it like:
Quoted 7 lines
Quoted 5 lines
timeout =
f.get('timeout', None)
withu_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. :-)
I have sent the patch for it
"test/py: Support setting up specific timeout"
Thanks,
Michal