On Thu, Jun 13, 2019 at 12:47:21PM +0300, Vladimir Sementsov-Ogievskiy wrote: > 11.06.2019 21:02, Andrey Shinkevich wrote: > > The Valgrind tool fails to manage its termination when QEMU raises the > > signal SIGKILL. Lets exclude such test cases from running under the > > Valgrind because there is no sense to check memory issues that way. > > > > Signed-off-by: Andrey Shinkevich <andrey.shinkev...@virtuozzo.com> > > --- > > tests/qemu-iotests/039 | 5 +++++ > > tests/qemu-iotests/061 | 2 ++ > > tests/qemu-iotests/137 | 1 + > > 3 files changed, 8 insertions(+) > > > > diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039 > > index 0d4e963..95115e2 100755 > > --- a/tests/qemu-iotests/039 > > +++ b/tests/qemu-iotests/039 > > @@ -65,6 +65,7 @@ echo "== Creating a dirty image file ==" > > IMGOPTS="compat=1.1,lazy_refcounts=on" > > _make_test_img $size > > > > +VALGRIND_QEMU="" \ > > > Shouldn't it be written once per test, just without "\" ?
Only qemu-io invocations that perform raise(KILL) need to bypass valgrinding. Clearing VALGRIND_QEMU globally will indulge all qemu-io throughout the test. Roman. > > $QEMU_IO -c "write -P 0x5a 0 512" \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \ > > | _filter_qemu_io > > @@ -100,6 +101,7 @@ echo "== Opening a dirty image read/write should repair > > it ==" > > IMGOPTS="compat=1.1,lazy_refcounts=on" > > _make_test_img $size > > > > +VALGRIND_QEMU="" \ > > $QEMU_IO -c "write -P 0x5a 0 512" \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \ > > | _filter_qemu_io > > @@ -118,6 +120,7 @@ echo "== Creating an image file with lazy_refcounts=off > > ==" > > IMGOPTS="compat=1.1,lazy_refcounts=off" > > _make_test_img $size > > > > +VALGRIND_QEMU="" \ > > $QEMU_IO -c "write -P 0x5a 0 512" \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \ > > | _filter_qemu_io > > @@ -151,6 +154,7 @@ echo "== Changing lazy_refcounts setting at runtime ==" > > IMGOPTS="compat=1.1,lazy_refcounts=off" > > _make_test_img $size > > > > +VALGRIND_QEMU="" \ > > $QEMU_IO -c "reopen -o lazy-refcounts=on" \ > > -c "write -P 0x5a 0 512" \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \ > > @@ -163,6 +167,7 @@ _check_test_img > > IMGOPTS="compat=1.1,lazy_refcounts=on" > > _make_test_img $size > > > > +VALGRIND_QEMU="" \ > > $QEMU_IO -c "reopen -o lazy-refcounts=off" \ > > -c "write -P 0x5a 0 512" \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 \ > > diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061 > > index d7dbd7e..5d0724c 100755 > > --- a/tests/qemu-iotests/061 > > +++ b/tests/qemu-iotests/061 > > @@ -73,6 +73,7 @@ echo > > echo "=== Testing dirty version downgrade ===" > > echo > > IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M > > +VALGRIND_QEMU="" \ > > $QEMU_IO -c "write -P 0x2a 0 128k" -c flush \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 | _filter_qemu_io > > $PYTHON qcow2.py "$TEST_IMG" dump-header > > @@ -107,6 +108,7 @@ echo > > echo "=== Testing dirty lazy_refcounts=off ===" > > echo > > IMGOPTS="compat=1.1,lazy_refcounts=on" _make_test_img 64M > > +VALGRIND_QEMU="" \ > > $QEMU_IO -c "write -P 0x2a 0 128k" -c flush \ > > -c "sigraise $(kill -l KILL)" "$TEST_IMG" 2>&1 | _filter_qemu_io > > $PYTHON qcow2.py "$TEST_IMG" dump-header > > diff --git a/tests/qemu-iotests/137 b/tests/qemu-iotests/137 > > index 0c3d2a1..a442fc8 100755 > > --- a/tests/qemu-iotests/137 > > +++ b/tests/qemu-iotests/137 > > @@ -130,6 +130,7 @@ echo > > > > # Whether lazy-refcounts was actually enabled can easily be tested: Check > > if > > # the dirty bit is set after a crash > > +VALGRIND_QEMU="" \ > > $QEMU_IO \ > > -c "reopen -o lazy-refcounts=on,overlap-check=blubb" \ > > -c "write -P 0x5a 0 512" \ > > > > > -- > Best regards, > Vladimir