_require_erofs_compression is added to check whether the compression algorithms are supported in the test environment before starting tests.
Signed-off-by: Jiawei Wang <kyr1ew...@qq.com> --- tests/common/rc | 16 ++++++++++++++++ tests/erofs/008 | 2 ++ tests/erofs/009 | 2 ++ tests/erofs/010 | 2 ++ tests/erofs/011 | 2 ++ tests/erofs/017 | 2 ++ tests/erofs/018 | 2 ++ tests/erofs/024 | 2 ++ 8 files changed, 30 insertions(+) diff --git a/tests/common/rc b/tests/common/rc index 0ace9d0..1c3f1d6 100644 --- a/tests/common/rc +++ b/tests/common/rc @@ -148,6 +148,22 @@ _require_fscache() [ -x $CACHEFILESD_PROG ] || _notrun "cachefilesd not built" } +_require_erofs_compression() +{ + local opt="$*" + local random_dir="$tmp/$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)" + + mkdir -p $random_dir/test $random_dir/mnt > /dev/null 2>&1 + truncate -s 1m $random_dir/test/file > /dev/null 2>&1 + + eval "$MKFS_EROFS_PROG $opt $random_dir/tmp.erofs $random_dir/test" >> /dev/null 2>&1 + _try_mount $random_dir/tmp.erofs $random_dir/mnt || \ + _notrun "fail to mount filesystem in _require_erofs_compression" + _do_unmount $random_dir/mnt + + rm -rf $random_dir +} + # Do the actual mkfs work. _do_mkfs() { diff --git a/tests/erofs/008 b/tests/erofs/008 index aa8ba1d..cd3929c 100755 --- a/tests/erofs/008 +++ b/tests/erofs/008 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$lz4_on" ] && \ _notrun "lz4 compression is disabled, skipped." +_require_erofs_compression "-zlz4" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV diff --git a/tests/erofs/009 b/tests/erofs/009 index 2ce0e0a..b3ad210 100755 --- a/tests/erofs/009 +++ b/tests/erofs/009 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$lz4hc_on" ] && \ _notrun "lz4hc compression is disabled, skipped." +_require_erofs_compression "-zlz4hc" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV diff --git a/tests/erofs/010 b/tests/erofs/010 index a4f4180..2782fb6 100755 --- a/tests/erofs/010 +++ b/tests/erofs/010 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$lz4_on" ] && \ _notrun "lz4 compression is disabled, skipped." +_require_erofs_compression "-zlz4" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV diff --git a/tests/erofs/011 b/tests/erofs/011 index 945998b..bd5d933 100755 --- a/tests/erofs/011 +++ b/tests/erofs/011 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$lz4hc_on" ] && \ _notrun "lz4hc compression is disabled, skipped." +_require_erofs_compression "-zlz4hc" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV diff --git a/tests/erofs/017 b/tests/erofs/017 index 0ba391f..9e7553c 100755 --- a/tests/erofs/017 +++ b/tests/erofs/017 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$lz4_on" ] && \ _notrun "lz4 compression is disabled, skipped." +_require_erofs_compression "-zlz4" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV diff --git a/tests/erofs/018 b/tests/erofs/018 index b6de58d..47b8d52 100755 --- a/tests/erofs/018 +++ b/tests/erofs/018 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$lzma_on" ] && \ _notrun "lzma compression is disabled, skipped." +_require_erofs_compression "-zlzma" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV diff --git a/tests/erofs/024 b/tests/erofs/024 index e2cbeba..f477c04 100755 --- a/tests/erofs/024 +++ b/tests/erofs/024 @@ -27,6 +27,8 @@ echo "QA output created by $seq" [ -z "$deflate_on" ] && \ _notrun "deflate compression is disabled, skipped." +_require_erofs_compression "-zdeflate,9" + if [ -z $SCRATCH_DEV ]; then SCRATCH_DEV=$tmp/erofs_$seq.img rm -f SCRATCH_DEV -- 2.34.1