diff options
author | Guillaume GARDET <guillaume.gardet@free.fr> | 2016-09-14 10:29:12 +0200 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2016-10-13 12:25:36 -0500 |
commit | 6a2981a7132c206e6099938fa0476301f4dfe3fd (patch) | |
tree | def8f7f25d81ce13c37e7e8e8b52fd4023bc8aa9 /test/py | |
parent | 9bde741decf999a203fdc49269e51cae959b0b64 (diff) | |
download | u-boot-6a2981a7132c206e6099938fa0476301f4dfe3fd.tar.gz u-boot-6a2981a7132c206e6099938fa0476301f4dfe3fd.tar.bz2 u-boot-6a2981a7132c206e6099938fa0476301f4dfe3fd.zip |
test: add NFS download test
Add a NFS download test, based on TFTP test.
Tested on i.MX6 SabreLite board.
Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Cc: Tom Rini <trini@konsulko.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Simon Glass <sjg@chromium.org>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'test/py')
-rw-r--r-- | test/py/tests/test_net.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/py/tests/test_net.py b/test/py/tests/test_net.py index 4ab58b4424..0884051614 100644 --- a/test/py/tests/test_net.py +++ b/test/py/tests/test_net.py @@ -47,6 +47,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 @@ -157,3 +166,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) + + 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 |