1*4882a593Smuzhiyunimport os 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunimport infra.basetest 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunclass TestSquashfs(infra.basetest.BRTest): 7*4882a593Smuzhiyun config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ 8*4882a593Smuzhiyun """ 9*4882a593Smuzhiyun BR2_TARGET_ROOTFS_SQUASHFS=y 10*4882a593Smuzhiyun BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y 11*4882a593Smuzhiyun # BR2_TARGET_ROOTFS_TAR is not set 12*4882a593Smuzhiyun """ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun def test_run(self): 15*4882a593Smuzhiyun unsquashfs_cmd = ["host/bin/unsquashfs", "-s", "images/rootfs.squashfs"] 16*4882a593Smuzhiyun out = infra.run_cmd_on_host(self.builddir, unsquashfs_cmd) 17*4882a593Smuzhiyun out = out.splitlines() 18*4882a593Smuzhiyun self.assertEqual(out[0], 19*4882a593Smuzhiyun "Found a valid SQUASHFS 4:0 superblock on images/rootfs.squashfs.") 20*4882a593Smuzhiyun self.assertEqual(out[3], "Compression lzo") 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun img = os.path.join(self.builddir, "images", "rootfs.squashfs") 23*4882a593Smuzhiyun infra.img_round_power2(img) 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun self.emulator.boot(arch="armv7", 26*4882a593Smuzhiyun kernel="builtin", 27*4882a593Smuzhiyun kernel_cmdline=["root=/dev/mmcblk0", 28*4882a593Smuzhiyun "rootfstype=squashfs"], 29*4882a593Smuzhiyun options=["-drive", "file={},if=sd,format=raw".format(img)]) 30*4882a593Smuzhiyun self.emulator.login() 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun cmd = "mount | grep '/dev/root on / type squashfs'" 33*4882a593Smuzhiyun self.assertRunOk(cmd) 34