X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=test%2Fpy%2Ftests%2Ftest_net.py;h=f2e432b6af419742bd5d1b31518110d7eb1f2077;hb=979b239b4c5f2fb7b219cc1d10445e136016a8f8;hp=4ab58b44248a80c6144b3bd5b45374bbb765de4d;hpb=3ba1352b97999546610cc9b8708281b60d660e48;p=u-boot diff --git a/test/py/tests/test_net.py b/test/py/tests/test_net.py index 4ab58b4424..f2e432b6af 100644 --- a/test/py/tests/test_net.py +++ b/test/py/tests/test_net.py @@ -1,6 +1,5 @@ -# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. -# # SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. # Test various network-related functionality, such as the dhcp, ping, and # tftpboot commands. @@ -47,6 +46,15 @@ env__net_tftp_readable_file = { "size": 5058624, "crc32": "c2244b26", } + +# Details regarding a file that may be read from a NFS server. This variable +# may be omitted or set to None if NFS testing is not possible or desired. +env__net_nfs_readable_file = { + "fn": "ubtest-readable.bin", + "addr": 0x10000000, + "size": 5058624, + "crc32": "c2244b26", +} """ net_set_up = False @@ -138,7 +146,7 @@ def test_net_tftpboot(u_boot_console): addr = f.get('addr', None) if not addr: - addr = u_boot_utils.find_ram_base(u_boot_console) + addr = u_boot_utils.find_ram_base(u_boot_console) + (1024 * 1024 * 4) fn = f['fn'] output = u_boot_console.run_command('tftpboot %x %s' % (addr, fn)) @@ -157,3 +165,43 @@ def test_net_tftpboot(u_boot_console): output = u_boot_console.run_command('crc32 %x $filesize' % addr) assert expected_crc in output + +@pytest.mark.buildconfigspec('cmd_nfs') +def test_net_nfs(u_boot_console): + """Test the nfs command. + + A file is downloaded from the NFS server, its size and optionally its + CRC32 are validated. + + The details of the file to download are provided by the boardenv_* file; + see the comment at the beginning of this file. + """ + + if not net_set_up: + pytest.skip('Network not initialized') + + f = u_boot_console.config.env.get('env__net_nfs_readable_file', None) + if not f: + pytest.skip('No NFS readable file to read') + + addr = f.get('addr', None) + if not addr: + addr = u_boot_utils.find_ram_base(u_boot_console) + (1024 * 1024 * 4) + + fn = f['fn'] + output = u_boot_console.run_command('nfs %x %s' % (addr, fn)) + expected_text = 'Bytes transferred = ' + sz = f.get('size', None) + if sz: + expected_text += '%d' % sz + assert expected_text in output + + expected_crc = f.get('crc32', None) + if not expected_crc: + return + + if u_boot_console.config.buildconfig.get('config_cmd_crc32', 'n') != 'y': + return + + output = u_boot_console.run_command('crc32 %x $filesize' % addr) + assert expected_crc in output