diff mbox series

[v2] loop: Add regression test for unsupported backing file fallocate

Message ID 20240617120018.13832-1-chrubis@suse.cz (mailing list archive)
State New, archived
Headers show
Series [v2] loop: Add regression test for unsupported backing file fallocate | expand

Commit Message

Cyril Hrubis June 17, 2024, noon UTC
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---

v2:
  - make use of grep -c instead of wc -l
  - Add WRITE_ZEROES string to the grep regexp

 tests/loop/011     | 37 +++++++++++++++++++++++++++++++++++++
 tests/loop/011.out |  3 +++
 2 files changed, 40 insertions(+)
 create mode 100755 tests/loop/011
 create mode 100644 tests/loop/011.out

Comments

Chaitanya Kulkarni June 18, 2024, 12:48 a.m. UTC | #1
On 6/17/24 05:00, Cyril Hrubis wrote:
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---

[...]

> +
> +	errors=$(_dmesg_since_test_start |grep -c "operation not supported error, dev .*WRITE_ZEROES")
> +

nit:- space on the both side of '|' before grep would be nice, can be 
done at
the time of applying the patch ...

Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck
Shin'ichiro Kawasaki June 20, 2024, 7:35 a.m. UTC | #2
On Jun 17, 2024 / 14:00, Cyril Hrubis wrote:
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---
> 
> v2:
>   - make use of grep -c instead of wc -l
>   - Add WRITE_ZEROES string to the grep regexp

Thanks for the contribution. I've applied v2 patch.

Of note is that I folded in the changes below:

- Added some descriptions to the commit message and the test file header.
- The created loop device file path was hard coded as "/dev/loop0", which does
  not work when the test environment has the device before the test case run.
  I replaced it with "$loop_dev".
- Replaced short command line options with long options for robustness and
  readability.
Cyril Hrubis June 21, 2024, 9:09 a.m. UTC | #3
Hi!
> Of note is that I folded in the changes below:
> 
> - Added some descriptions to the commit message and the test file header.
> - The created loop device file path was hard coded as "/dev/loop0", which does
>   not work when the test environment has the device before the test case run.
>   I replaced it with "$loop_dev".

That was actually a copy&paste error sorry for that and thanks for fixing it!
diff mbox series

Patch

diff --git a/tests/loop/011 b/tests/loop/011
new file mode 100755
index 0000000..baabe5c
--- /dev/null
+++ b/tests/loop/011
@@ -0,0 +1,37 @@ 
+#!/bin/bash
+# SPDX-License-Identifier: GPL-3.0+
+# Copyright (C) 2024 Cyril Hrubis
+#
+# Regression test for patch "loop: Disable fallocate() zero and discard if not supported".
+#
+
+. tests/loop/rc
+DESCRIPTION="Make sure unsupported backing file fallocate does not fill dmesg with errors"
+
+requires() {
+	_have_program mkfs.ext2
+}
+
+test() {
+	local loop_dev;
+	echo "Running ${TEST_NAME}"
+
+	mkdir "$TMPDIR/tmpfs"
+	mount -t tmpfs testfs "$TMPDIR/tmpfs"
+	dd if=/dev/zero of="$TMPDIR/tmpfs/disk.img" bs=1M count=100 &> /dev/null
+
+	if ! loop_dev="$(losetup -f --show "$TMPDIR/tmpfs/disk.img")"; then
+		return 1
+	fi
+
+	mkfs.ext2 /dev/loop0 &> /dev/null
+
+	errors=$(_dmesg_since_test_start |grep -c "operation not supported error, dev .*WRITE_ZEROES")
+
+	losetup -d "$loop_dev"
+	umount "$TMPDIR/tmpfs"
+
+	echo "Found $errors error(s) in dmesg"
+
+	echo "Test complete"
+}
diff --git a/tests/loop/011.out b/tests/loop/011.out
new file mode 100644
index 0000000..cd88fd5
--- /dev/null
+++ b/tests/loop/011.out
@@ -0,0 +1,3 @@ 
+Running loop/011
+Found 1 error(s) in dmesg
+Test complete