On Wed, Jun 24, 2020 at 07:55:27PM +0800, Qu Wenruo wrote:
> Add a test case to check if the converted fs has device extent beyond
> boundary.
>
> The disk layout of source ext4 fs needs some extents to make them
> allocated at the very end of the fs.
> The script is from the original reporter.
>
> Also, since the existing convert tests always uses 512M as device size,
> which is not suitable for this test case, make it to grab the existing
> device size to co-operate with this test case.
>
> Reported-by: Jiachen YANG <farseerfc@xxxxxxxxx>
> Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>
> ---
> tests/common.convert | 14 ++++++++-
> tests/convert-tests/017-fs-near-full/test.sh | 30 ++++++++++++++++++++
> 2 files changed, 43 insertions(+), 1 deletion(-)
> create mode 100755 tests/convert-tests/017-fs-near-full/test.sh
>
> diff --git a/tests/common.convert b/tests/common.convert
> index f24ceb0d6a64..0c918387758d 100644
> --- a/tests/common.convert
> +++ b/tests/common.convert
> @@ -53,6 +53,16 @@ convert_test_preamble() {
> echo "creating test image with: $@" >> "$RESULTS"
> }
>
> +get_test_file_size() {
> + local path="$1"
> + local ret
> +
> + ret=$(ls -l "$path" | cut -f5 -d\ )
> + if [ -z $ret ]; then
> + ret=512M
> + fi
> + echo $ret
> +}
> # prepare TEST_DEV before conversion, create filesystem and mount it, image
> # size is 512MB
> # $1: type of the filesystem
> @@ -61,14 +71,16 @@ convert_test_prep_fs() {
> local fstype
> local force
> local mountopts
> + local oldsize
>
> fstype="$1"
> shift
> + oldsize=$(get_test_file_size "$TEST_DEV")
The helper should be here, with a comment why the return size needs to
be 512M in some cases.