fs/squashfs: needs more test cases

For the new patch, adding block size options (commit 555f8dfd),
Yann E. MORIN requested updated testcases that specifically ensure
the extreme blocksizes (4K and 1024K) don't cause issues.

This patch splits the current test case in 2, testing with both
block sizes and ensuring the block size was applied in the same
fashion as for the specified compression.

Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net>
[yann.morin.1998@free.fr: keep exisitng test with default size]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Linus Kaschulla 2022-05-17 14:19:38 +00:00 committed by Yann E. MORIN
parent e8fb79c866
commit 001e0aab23

View File

@ -10,6 +10,7 @@ class TestSquashfs(infra.basetest.BRTest):
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
expected_blocksize_in_bytes = 128*1024
def test_run(self):
unsquashfs_cmd = ["host/bin/unsquashfs", "-s", "images/rootfs.squashfs"]
@ -18,6 +19,7 @@ class TestSquashfs(infra.basetest.BRTest):
self.assertEqual(out[0],
"Found a valid SQUASHFS 4:0 superblock on images/rootfs.squashfs.")
self.assertEqual(out[3], "Compression lzo")
self.assertEqual(out[4], "Block size {}".format(self.expected_blocksize_in_bytes))
img = os.path.join(self.builddir, "images", "rootfs.squashfs")
infra.img_round_power2(img)
@ -31,3 +33,25 @@ class TestSquashfs(infra.basetest.BRTest):
cmd = "mount | grep '/dev/root on / type squashfs'"
self.assertRunOk(cmd)
class TestSquashfsMinBlocksize(TestSquashfs):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS_BS_4K=y
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
expected_blocksize_in_bytes = 4*1024
class TestSquashfsMaxBlocksize(TestSquashfs):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS_BS_1024K=y
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
expected_blocksize_in_bytes = 1024*1024