diff --git a/tests/funcs/require.sh b/tests/funcs/require.sh index 17b757cf..2d0f36ae 100644 --- a/tests/funcs/require.sh +++ b/tests/funcs/require.sh @@ -23,3 +23,18 @@ t_require_mounts() { test "$T_NR_MOUNTS" -ge "$req" || \ t_skip "$req mounts required, only have $T_NR_MOUNTS" } + +# +# Require that the meta device be at least the size string argument, as +# parsed by numfmt using single char base 2 suffixes (iec).. 64G, etc. +# +t_require_meta_size() { + local dev="$T_META_DEVICE" + local req_iec="$1" + local req_bytes=$(numfmt --from=iec --to=none $req_iec) + local dev_bytes=$(blockdev --getsize64 $dev) + local dev_iec=$(numfmt --from=auto --to=iec $dev_bytes) + + test "$dev_bytes" -ge "$req_bytes" || \ + t_skip "$dev must be at least $req_iec, is $dev_iec" +}