1# SPDX-License-Identifier: GPL-2.0 2# Copyright (C) 2020 Bootlin 3# Author: Joao Marcos Costa <joaomarcos.costa@bootlin.com> 4 5import os 6import pytest 7from sqfs_common import * 8 9@pytest.mark.boardspec('sandbox') 10@pytest.mark.buildconfigspec('cmd_fs_generic') 11@pytest.mark.buildconfigspec('cmd_squashfs') 12@pytest.mark.buildconfigspec('fs_squashfs') 13@pytest.mark.requiredtool('mksquashfs') 14def test_sqfs_load(u_boot_console): 15 build_dir = u_boot_console.config.build_dir 16 command = "sqfsload host 0 $kernel_addr_r " 17 18 for opt in comp_opts: 19 # generate and load the squashfs image 20 try: 21 opt.gen_image(build_dir) 22 except RuntimeError: 23 opt.clean_source(build_dir) 24 # skip unsupported compression types 25 continue 26 27 path = os.path.join(build_dir, "sqfs-" + opt.name) 28 output = u_boot_console.run_command("host bind 0 " + path) 29 30 output = u_boot_console.run_command(command + "xxx") 31 assert "File not found." in output 32 33 for (f, s) in zip(opt.files, opt.sizes): 34 try: 35 output = u_boot_console.run_command(command + f) 36 assert str(s) in output 37 except: 38 assert False 39 opt.cleanup(build_dir) 40 41 # test symbolic link 42 output = u_boot_console.run_command(command + "sym") 43 assert str(opt.sizes[0]) in output 44 45 # remove generated files 46 opt.cleanup(build_dir) 47