On 1/8/25 14:28, Michael Tokarev wrote:
This test uses cache.direct=true, but does not check if O_DIRECT
is supported by the underlying filesystem, and fails, for example,
on a tmpfs (which is rather common on various auto-builders, in CI,
etc).
Fix this by using _require_o_direct.
This example shows where our testing framework is significantly
lacking. In this test, qemu produces an error message on stderr
at startup, because it can't use O_DIRECT mode. But this error
message is not shown anywhere at all, even when running this test
separately outside of meson framework, - stderr is completely
hidden, and the only error we're getting is
+Timeout waiting for capabilities on handle 0
so it's rather painful to find what the actual error is. I think
that besides this change, we should also change the testing framework
to show stderr at least in case of test failure, and especially when
the failure occurs at the very beginning when we're checking for
sanity.
Fixes: c0ddcb2cbc146e "tests: Add iotest mirror-sparse for recent patches"
Signed-off-by: Michael Tokarev <m...@tls.msk.ru>
---
tests/qemu-iotests/tests/mirror-sparse | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qemu-iotests/tests/mirror-sparse
b/tests/qemu-iotests/tests/mirror-sparse
index cfcaa600ab..19843a622c 100755
--- a/tests/qemu-iotests/tests/mirror-sparse
+++ b/tests/qemu-iotests/tests/mirror-sparse
@@ -41,6 +41,7 @@ _supported_fmt qcow2 raw # Format of the source. dst is
always raw file
_supported_proto file
_supported_os Linux
_require_disk_usage
+_require_o_direct
Could the correct use be:
_supported_cache_modes none directsync
?
echo
echo "=== Initial image setup ==="