diff options
author | Roger Knecht <rknecht@pm.me> | 2022-09-03 14:34:53 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-10-11 22:40:48 +0300 |
commit | 690a1d694899c55c7cc6a168c54984f765ff761e (patch) | |
tree | 0d1949060afcdda676a4a8e7bfc89053a391f1a4 /test | |
parent | 7eda1a95331d1ccd17e5af6fb18bf5577f81a451 (diff) | |
download | u-boot-690a1d694899c55c7cc6a168c54984f765ff761e.tar.xz |
cmd: cat: add new command
Add cat command to print file content to standard out
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Roger Knecht <rknecht@pm.me>
Diffstat (limited to 'test')
-rw-r--r-- | test/py/tests/test_cat/conftest.py | 35 | ||||
-rw-r--r-- | test/py/tests/test_cat/test_cat.py | 20 |
2 files changed, 55 insertions, 0 deletions
diff --git a/test/py/tests/test_cat/conftest.py b/test/py/tests/test_cat/conftest.py new file mode 100644 index 0000000000..058fe52352 --- /dev/null +++ b/test/py/tests/test_cat/conftest.py @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: GPL-2.0+ + +"""Fixture for cat command test +""" + +import os +import shutil +from subprocess import check_call, CalledProcessError +import pytest + +@pytest.fixture(scope='session') +def cat_data(u_boot_config): + """Set up a file system to be used in cat tests + + Args: + u_boot_config -- U-boot configuration. + """ + mnt_point = u_boot_config.persistent_data_dir + '/test_cat' + image_path = u_boot_config.persistent_data_dir + '/cat.img' + + try: + os.mkdir(mnt_point, mode = 0o755) + + with open(mnt_point + '/hello', 'w', encoding = 'ascii') as file: + file.write('hello world\n') + + check_call(f'virt-make-fs --partition=gpt --size=+1M --type=vfat {mnt_point} {image_path}', + shell=True) + + yield image_path + except CalledProcessError: + pytest.skip('Setup failed') + finally: + shutil.rmtree(mnt_point) + os.remove(image_path) diff --git a/test/py/tests/test_cat/test_cat.py b/test/py/tests/test_cat/test_cat.py new file mode 100644 index 0000000000..132527bd4c --- /dev/null +++ b/test/py/tests/test_cat/test_cat.py @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0+ + +""" Unit test for cat command +""" + +import pytest + +@pytest.mark.boardspec('sandbox') +@pytest.mark.buildconfigspec('cmd_cat') +def test_cat(u_boot_console, cat_data): + """ Unit test for cat + + Args: + u_boot_console -- U-Boot console + cat_data -- Path to the disk image used for testing. + """ + response = u_boot_console.run_command_list([ + f'host bind 0 {cat_data}', + 'cat host 0 hello']) + assert 'hello world' in response |