From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Mon, 2 May 2016 10:27:58 -0600 Subject: [U-Boot] [PATCH] test/py: Add support for extending timeout for large files In-Reply-To: References: Message-ID: <5727800E.8090604@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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")