qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] iotests: Some fixes for rarely run cases
@ 2020-06-17 10:48 Max Reitz
  2020-06-17 10:48 ` [PATCH 1/5] iotests.py: Add skip_for_formats() decorator Max Reitz
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Max Reitz @ 2020-06-17 10:48 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

Hi,

Thomas’s report
(https://lists.nongnu.org/archive/html/qemu-block/2020-06/msg00791.html)
has given me a nice excuse to write this series.

There are some iotests that have recently start to fail in rarely
exercised test environments (qed, qcow2 with data_file, qcow2 v2), and
this series fixes what I found.


Max Reitz (5):
  iotests.py: Add skip_for_formats() decorator
  iotests/041: Skip test_small_target for qed
  iotests/292: data_file is unsupported
  iotests/229: data_file is unsupported
  iotests/{190,291}: compat=0.10 is unsupported

 tests/qemu-iotests/041        |  2 ++
 tests/qemu-iotests/118        |  7 +++----
 tests/qemu-iotests/190        |  2 ++
 tests/qemu-iotests/229        |  3 +++
 tests/qemu-iotests/291        |  2 ++
 tests/qemu-iotests/292        |  5 +++++
 tests/qemu-iotests/iotests.py | 13 +++++++++++++
 7 files changed, 30 insertions(+), 4 deletions(-)

-- 
2.26.2



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/5] iotests.py: Add skip_for_formats() decorator
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
@ 2020-06-17 10:48 ` Max Reitz
  2020-06-17 11:37   ` Thomas Huth
  2020-06-17 10:48 ` [PATCH 2/5] iotests/041: Skip test_small_target for qed Max Reitz
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Max Reitz @ 2020-06-17 10:48 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

Sometimes, we want to skip some test methods for certain formats.  This
decorator allows that.

Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/118        |  7 +++----
 tests/qemu-iotests/iotests.py | 13 +++++++++++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/tests/qemu-iotests/118 b/tests/qemu-iotests/118
index adc8a848b5..2350929fd8 100755
--- a/tests/qemu-iotests/118
+++ b/tests/qemu-iotests/118
@@ -683,11 +683,10 @@ class TestBlockJobsAfterCycle(ChangeBaseClass):
         except OSError:
             pass
 
+    # We need backing file support
+    @iotests.skip_for_formats(('vpc', 'parallels', 'qcow', 'vdi', 'vmdk', 'raw',
+                               'vhdx'))
     def test_snapshot_and_commit(self):
-        # We need backing file support
-        if iotests.imgfmt != 'qcow2' and iotests.imgfmt != 'qed':
-            return
-
         result = self.vm.qmp('blockdev-snapshot-sync', device='drive0',
                                                        snapshot_file=new_img,
                                                        format=iotests.imgfmt)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index f20d90f969..92c08b9dc6 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -1103,6 +1103,19 @@ def skip_if_unsupported(required_formats=(), read_only=False):
         return func_wrapper
     return skip_test_decorator
 
+def skip_for_formats(formats: Sequence[str] = ()):
+    '''Skip Test Decorator
+       Skips the test for the given formats'''
+    def skip_test_decorator(func):
+        def func_wrapper(test_case: QMPTestCase, *args: List[Any],
+                         **kwargs: Dict[str, Any]) -> None:
+            if imgfmt in formats:
+                test_case.case_skip(f'{test_case}: Skipped for format {imgfmt}')
+            else:
+                func(test_case, *args, **kwargs)
+        return func_wrapper
+    return skip_test_decorator
+
 def skip_if_user_is_root(func):
     '''Skip Test Decorator
        Runs the test only without root permissions'''
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/5] iotests/041: Skip test_small_target for qed
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
  2020-06-17 10:48 ` [PATCH 1/5] iotests.py: Add skip_for_formats() decorator Max Reitz
@ 2020-06-17 10:48 ` Max Reitz
  2020-06-17 11:39   ` Thomas Huth
  2020-06-17 10:48 ` [PATCH 3/5] iotests/292: data_file is unsupported Max Reitz
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 13+ messages in thread
From: Max Reitz @ 2020-06-17 10:48 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

qed does not support shrinking images, so the test_small_target method
should be skipped to keep 041 passing.

Fixes: 16cea4ee1c8e5a69a058e76f426b2e17974d8d7d
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/041 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
index 601c756117..b843f88a66 100755
--- a/tests/qemu-iotests/041
+++ b/tests/qemu-iotests/041
@@ -277,6 +277,8 @@ class TestSingleBlockdev(TestSingleDrive):
         result = self.vm.run_job('job0')
         self.assertEqual(result, 'Source and target image have different sizes')
 
+    # qed does not support shrinking
+    @iotests.skip_for_formats(('qed'))
     def test_small_target(self):
         self.do_test_target_size(self.image_len // 2)
 
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/5] iotests/292: data_file is unsupported
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
  2020-06-17 10:48 ` [PATCH 1/5] iotests.py: Add skip_for_formats() decorator Max Reitz
  2020-06-17 10:48 ` [PATCH 2/5] iotests/041: Skip test_small_target for qed Max Reitz
@ 2020-06-17 10:48 ` Max Reitz
  2020-06-17 10:48 ` [PATCH 4/5] iotests/229: " Max Reitz
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Max Reitz @ 2020-06-17 10:48 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

Fixes: e4d7019e1a81c61de6a925c3ac5bb6e62ea21b29
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/292 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/qemu-iotests/292 b/tests/qemu-iotests/292
index a2de27cca4..83ab19231d 100755
--- a/tests/qemu-iotests/292
+++ b/tests/qemu-iotests/292
@@ -40,6 +40,11 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
 _supported_fmt qcow2
 _supported_proto file
 _supported_os Linux
+# We need qemu-img map to show the file where the data is allocated,
+# but with an external data file, it will show that instead of the
+# file we want to check.  So just skip this test for external data
+# files.
+_unsupported_imgopts data_file
 
 echo '### Create the backing image'
 BACKING_IMG="$TEST_IMG.base"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/5] iotests/229: data_file is unsupported
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
                   ` (2 preceding siblings ...)
  2020-06-17 10:48 ` [PATCH 3/5] iotests/292: data_file is unsupported Max Reitz
@ 2020-06-17 10:48 ` Max Reitz
  2020-06-17 10:48 ` [PATCH 5/5] iotests/{190,291}: compat=0.10 " Max Reitz
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Max Reitz @ 2020-06-17 10:48 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

Fixes: d89ac3cf305b28c024a76805a84d75c0ee1e786f
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/229 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/qemu-iotests/229 b/tests/qemu-iotests/229
index 99acb55ebb..89a5359f32 100755
--- a/tests/qemu-iotests/229
+++ b/tests/qemu-iotests/229
@@ -46,6 +46,9 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
 _supported_fmt qcow2 qed
 _supported_proto file
 _supported_os Linux
+# blkdebug can only inject errors on bs->file, so external data files
+# do not work with this test
+_unsupported_imgopts data_file
 
 
 DEST_IMG="$TEST_DIR/d.$IMGFMT"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/5] iotests/{190,291}: compat=0.10 is unsupported
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
                   ` (3 preceding siblings ...)
  2020-06-17 10:48 ` [PATCH 4/5] iotests/229: " Max Reitz
@ 2020-06-17 10:48 ` Max Reitz
  2020-06-17 12:27 ` [PATCH 0/5] iotests: Some fixes for rarely run cases no-reply
  2020-06-17 12:52 ` Kevin Wolf
  6 siblings, 0 replies; 13+ messages in thread
From: Max Reitz @ 2020-06-17 10:48 UTC (permalink / raw)
  To: qemu-block; +Cc: Kevin Wolf, qemu-devel, Max Reitz

Fixes: 5d72c68b49769c927e90b78af6d90f6a384b26ac
Fixes: cf2d1203dcfc2bf964453d83a2302231ce77f2dc
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/190 | 2 ++
 tests/qemu-iotests/291 | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/tests/qemu-iotests/190 b/tests/qemu-iotests/190
index fe630918e9..c22d8d64f9 100755
--- a/tests/qemu-iotests/190
+++ b/tests/qemu-iotests/190
@@ -41,6 +41,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
 # See 178 for more extensive tests across more formats
 _supported_fmt qcow2
 _supported_proto file
+# compat=0.10 does not support bitmaps
+_unsupported_imgopts 'compat=0.10'
 
 echo "== Huge file without bitmaps =="
 echo
diff --git a/tests/qemu-iotests/291 b/tests/qemu-iotests/291
index 3ca83b9cd1..3ff1858d95 100755
--- a/tests/qemu-iotests/291
+++ b/tests/qemu-iotests/291
@@ -39,6 +39,8 @@ _supported_fmt qcow2
 _supported_proto file
 _supported_os Linux
 _require_command QEMU_NBD
+# compat=0.10 does not support bitmaps
+_unsupported_imgopts 'compat=0.10'
 
 echo
 echo "=== Initial image setup ==="
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/5] iotests.py: Add skip_for_formats() decorator
  2020-06-17 10:48 ` [PATCH 1/5] iotests.py: Add skip_for_formats() decorator Max Reitz
@ 2020-06-17 11:37   ` Thomas Huth
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Huth @ 2020-06-17 11:37 UTC (permalink / raw)
  To: Max Reitz, qemu-block; +Cc: Kevin Wolf, qemu-devel

On 17/06/2020 12.48, Max Reitz wrote:
> Sometimes, we want to skip some test methods for certain formats.  This
> decorator allows that.
> 
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
>  tests/qemu-iotests/118        |  7 +++----
>  tests/qemu-iotests/iotests.py | 13 +++++++++++++
>  2 files changed, 16 insertions(+), 4 deletions(-)

Tested with:

 for i in raw bochs cloop parallels qcow qcow2 qed vdi vpc vhdx \
  vmdk luks dmg ; do ./check -makecheck -$i 118 ; done

Works fine for me, so:

Tested-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] iotests/041: Skip test_small_target for qed
  2020-06-17 10:48 ` [PATCH 2/5] iotests/041: Skip test_small_target for qed Max Reitz
@ 2020-06-17 11:39   ` Thomas Huth
  0 siblings, 0 replies; 13+ messages in thread
From: Thomas Huth @ 2020-06-17 11:39 UTC (permalink / raw)
  To: Max Reitz, qemu-block; +Cc: Kevin Wolf, qemu-devel

On 17/06/2020 12.48, Max Reitz wrote:
> qed does not support shrinking images, so the test_small_target method
> should be skipped to keep 041 passing.
> 
> Fixes: 16cea4ee1c8e5a69a058e76f426b2e17974d8d7d
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
>  tests/qemu-iotests/041 | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
> index 601c756117..b843f88a66 100755
> --- a/tests/qemu-iotests/041
> +++ b/tests/qemu-iotests/041
> @@ -277,6 +277,8 @@ class TestSingleBlockdev(TestSingleDrive):
>          result = self.vm.run_job('job0')
>          self.assertEqual(result, 'Source and target image have different sizes')
>  
> +    # qed does not support shrinking
> +    @iotests.skip_for_formats(('qed'))
>      def test_small_target(self):
>          self.do_test_target_size(self.image_len // 2)

Great, now "check -qed 041" works fine for me again! Thanks!

Tested-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/5] iotests: Some fixes for rarely run cases
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
                   ` (4 preceding siblings ...)
  2020-06-17 10:48 ` [PATCH 5/5] iotests/{190,291}: compat=0.10 " Max Reitz
@ 2020-06-17 12:27 ` no-reply
  2020-06-17 12:52 ` Kevin Wolf
  6 siblings, 0 replies; 13+ messages in thread
From: no-reply @ 2020-06-17 12:27 UTC (permalink / raw)
  To: mreitz; +Cc: kwolf, qemu-devel, qemu-block, mreitz

Patchew URL: https://patchew.org/QEMU/20200617104822.27525-1-mreitz@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
export ARCH=x86_64
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

  CC      qga/main.o
  CC      qga/commands-posix.o
  CC      qga/channel-posix.o
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  CC      qga/qapi-generated/qga-qapi-types.o
  CC      qga/qapi-generated/qga-qapi-visit.o
  CC      qga/qapi-generated/qga-qapi-commands.o
---
  GEN     docs/interop/qemu-ga-ref.html
  GEN     docs/interop/qemu-ga-ref.txt
  GEN     docs/interop/qemu-ga-ref.7
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINK    qemu-ga
  LINK    qemu-keymap
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINK    ivshmem-client
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINK    ivshmem-server
  LINK    qemu-nbd
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  AS      pc-bios/optionrom/multiboot.o
  AS      pc-bios/optionrom/linuxboot.o
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINK    qemu-storage-daemon
  CC      pc-bios/optionrom/linuxboot_dma.o
  AS      pc-bios/optionrom/kvmvapic.o
  LINK    qemu-img
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  AS      pc-bios/optionrom/pvh.o
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  CC      pc-bios/optionrom/pvh_main.o
  BUILD   pc-bios/optionrom/multiboot.img
  BUILD   pc-bios/optionrom/linuxboot.img
---
  LINK    qemu-edid
  BUILD   pc-bios/optionrom/pvh.raw
  SIGN    pc-bios/optionrom/multiboot.bin
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  SIGN    pc-bios/optionrom/linuxboot.bin
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  SIGN    pc-bios/optionrom/linuxboot_dma.bin
  LINK    fsdev/virtfs-proxy-helper
  SIGN    pc-bios/optionrom/kvmvapic.bin
  SIGN    pc-bios/optionrom/pvh.bin
  LINK    scsi/qemu-pr-helper
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINK    qemu-bridge-helper
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  LINK    virtiofsd
  LINK    vhost-user-input
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
/usr/bin/ld: /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors_vfork.S.o): warning: common of `__interception::real_vfork' overridden by definition from /usr/lib64/clang/10.0.0/lib/linux/libclang_rt.asan-x86_64.a(asan_interceptors.cpp.o)
  GEN     x86_64-softmmu/hmp-commands.h
  GEN     x86_64-softmmu/hmp-commands-info.h
  GEN     x86_64-softmmu/config-devices.h
---
  CC      x86_64-softmmu/hw/display/vhost-user-gpu.o
  CC      x86_64-softmmu/hw/display/virtio-gpu-pci.o
  CC      x86_64-softmmu/hw/display/vhost-user-gpu-pci.o
/tmp/qemu-test/src/fpu/softfloat.c:3365:13: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
    absZ &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven );
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            !
/tmp/qemu-test/src/fpu/softfloat.c:3423:18: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
        absZ0 &= ~ ( ( (uint64_t) ( absZ1<<1 ) == 0 ) & roundNearestEven );
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 !
/tmp/qemu-test/src/fpu/softfloat.c:3483:18: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
        absZ0 &= ~(((uint64_t)(absZ1<<1) == 0) & roundNearestEven);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 !
/tmp/qemu-test/src/fpu/softfloat.c:3606:13: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
    zSig &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven );
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            !
/tmp/qemu-test/src/fpu/softfloat.c:3760:13: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
    zSig &= ~ ( ( ( roundBits ^ 0x200 ) == 0 ) & roundNearestEven );
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            !
/tmp/qemu-test/src/fpu/softfloat.c:3987:21: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
                    ~ ( ( (uint64_t) ( zSig1<<1 ) == 0 ) & roundNearestEven );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                    !
/tmp/qemu-test/src/fpu/softfloat.c:4003:22: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
            zSig0 &= ~ ( ( (uint64_t) ( zSig1<<1 ) == 0 ) & roundNearestEven );
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     !
/tmp/qemu-test/src/fpu/softfloat.c:4273:18: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation]
        zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven );
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 !
8 errors generated.
/tmp/qemu-test/src/migration/ram.c:919:45: error: implicit conversion from 'unsigned long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
            xbzrle_counters.encoding_rate = UINT64_MAX;
                                          ~ ^~~~~~~~~~
/usr/include/stdint.h:130:23: note: expanded from macro 'UINT64_MAX'
---
18446744073709551615UL
^~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[1]: *** [/tmp/qemu-test/src/rules.mak:69: fpu/softfloat.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [/tmp/qemu-test/src/rules.mak:69: migration/ram.o] Error 1
make: *** [Makefile:527: x86_64-softmmu/all] Error 2
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "./tests/docker/docker.py", line 669, in <module>
---
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=a77128e3c7fa46198336f2f9a41fc402', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=x86_64-softmmu', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-okyk43nb/src/docker-src.2020-06-17-08.23.09.27994:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-debug']' returned non-zero exit status 2.
filter=--filter=label=com.qemu.instance.uuid=a77128e3c7fa46198336f2f9a41fc402
make[1]: *** [docker-run] Error 1
make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-okyk43nb/src'
make: *** [docker-run-test-debug@fedora] Error 2

real    4m34.095s
user    0m8.090s


The full log is available at
http://patchew.org/logs/20200617104822.27525-1-mreitz@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/5] iotests: Some fixes for rarely run cases
  2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
                   ` (5 preceding siblings ...)
  2020-06-17 12:27 ` [PATCH 0/5] iotests: Some fixes for rarely run cases no-reply
@ 2020-06-17 12:52 ` Kevin Wolf
  2020-06-17 14:11   ` Max Reitz
  6 siblings, 1 reply; 13+ messages in thread
From: Kevin Wolf @ 2020-06-17 12:52 UTC (permalink / raw)
  To: Max Reitz; +Cc: qemu-devel, qemu-block

Am 17.06.2020 um 12:48 hat Max Reitz geschrieben:
> Hi,
> 
> Thomas’s report
> (https://lists.nongnu.org/archive/html/qemu-block/2020-06/msg00791.html)
> has given me a nice excuse to write this series.
> 
> There are some iotests that have recently start to fail in rarely
> exercised test environments (qed, qcow2 with data_file, qcow2 v2), and
> this series fixes what I found.

Thanks, applied to the block branch.

Kevin



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/5] iotests: Some fixes for rarely run cases
  2020-06-17 12:52 ` Kevin Wolf
@ 2020-06-17 14:11   ` Max Reitz
  2020-06-17 14:19     ` Kevin Wolf
  0 siblings, 1 reply; 13+ messages in thread
From: Max Reitz @ 2020-06-17 14:11 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel, qemu-block


[-- Attachment #1.1.1: Type: text/plain, Size: 978 bytes --]

On 17.06.20 14:52, Kevin Wolf wrote:
> Am 17.06.2020 um 12:48 hat Max Reitz geschrieben:
>> Hi,
>>
>> Thomas’s report
>> (https://lists.nongnu.org/archive/html/qemu-block/2020-06/msg00791.html)
>> has given me a nice excuse to write this series.
>>
>> There are some iotests that have recently start to fail in rarely
>> exercised test environments (qed, qcow2 with data_file, qcow2 v2), and
>> this series fixes what I found.
> 
> Thanks, applied to the block branch.

Sorry, I didn’t run iotest 297 before sending this series...

The problems arise in patch 1:

iotests.py:1113:0: C0301: Line too long (80/79) (line-too-long)
iotests.py:1106: error: Function is missing a return type annotation

(So there’s a line with 80 characters, when 79 is the maximum (*shrug*),
and I failed to specify skip_for_format’s return type.)

I think patch 1 needs the attached diff squashed in.  Are you willing to
do that or should I just send a v2?

Max

[-- Attachment #1.1.2: patch1.diff --]
[-- Type: text/x-patch, Size: 1180 bytes --]

diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 92c08b9dc6..5ea4c4df8b 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -1103,14 +1103,17 @@ def skip_if_unsupported(required_formats=(), read_only=False):
         return func_wrapper
     return skip_test_decorator
 
-def skip_for_formats(formats: Sequence[str] = ()):
+def skip_for_formats(formats: Sequence[str] = ()) \
+    -> Callable[[Callable[[QMPTestCase, List[Any], Dict[str, Any]], None]],
+                Callable[[QMPTestCase, List[Any], Dict[str, Any]], None]]:
     '''Skip Test Decorator
        Skips the test for the given formats'''
     def skip_test_decorator(func):
         def func_wrapper(test_case: QMPTestCase, *args: List[Any],
                          **kwargs: Dict[str, Any]) -> None:
             if imgfmt in formats:
-                test_case.case_skip(f'{test_case}: Skipped for format {imgfmt}')
+                msg = f'{test_case}: Skipped for format {imgfmt}'
+                test_case.case_skip(msg)
             else:
                 func(test_case, *args, **kwargs)
         return func_wrapper

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/5] iotests: Some fixes for rarely run cases
  2020-06-17 14:11   ` Max Reitz
@ 2020-06-17 14:19     ` Kevin Wolf
  2020-06-17 14:21       ` Max Reitz
  0 siblings, 1 reply; 13+ messages in thread
From: Kevin Wolf @ 2020-06-17 14:19 UTC (permalink / raw)
  To: Max Reitz; +Cc: qemu-devel, qemu-block

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

Am 17.06.2020 um 16:11 hat Max Reitz geschrieben:
> On 17.06.20 14:52, Kevin Wolf wrote:
> > Am 17.06.2020 um 12:48 hat Max Reitz geschrieben:
> >> Hi,
> >>
> >> Thomas’s report
> >> (https://lists.nongnu.org/archive/html/qemu-block/2020-06/msg00791.html)
> >> has given me a nice excuse to write this series.
> >>
> >> There are some iotests that have recently start to fail in rarely
> >> exercised test environments (qed, qcow2 with data_file, qcow2 v2), and
> >> this series fixes what I found.
> > 
> > Thanks, applied to the block branch.
> 
> Sorry, I didn’t run iotest 297 before sending this series...
> 
> The problems arise in patch 1:
> 
> iotests.py:1113:0: C0301: Line too long (80/79) (line-too-long)
> iotests.py:1106: error: Function is missing a return type annotation
> 
> (So there’s a line with 80 characters, when 79 is the maximum (*shrug*),
> and I failed to specify skip_for_format’s return type.)
> 
> I think patch 1 needs the attached diff squashed in.  Are you willing to
> do that or should I just send a v2?

I'm squashing it in. In fact, I already had fixed it, but I was too lazy
to be more specific than Callable[..., Any], so I'll replace that with
your version.

Kevin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/5] iotests: Some fixes for rarely run cases
  2020-06-17 14:19     ` Kevin Wolf
@ 2020-06-17 14:21       ` Max Reitz
  0 siblings, 0 replies; 13+ messages in thread
From: Max Reitz @ 2020-06-17 14:21 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel, qemu-block


[-- Attachment #1.1: Type: text/plain, Size: 1439 bytes --]

On 17.06.20 16:19, Kevin Wolf wrote:
> Am 17.06.2020 um 16:11 hat Max Reitz geschrieben:
>> On 17.06.20 14:52, Kevin Wolf wrote:
>>> Am 17.06.2020 um 12:48 hat Max Reitz geschrieben:
>>>> Hi,
>>>>
>>>> Thomas’s report
>>>> (https://lists.nongnu.org/archive/html/qemu-block/2020-06/msg00791.html)
>>>> has given me a nice excuse to write this series.
>>>>
>>>> There are some iotests that have recently start to fail in rarely
>>>> exercised test environments (qed, qcow2 with data_file, qcow2 v2), and
>>>> this series fixes what I found.
>>>
>>> Thanks, applied to the block branch.
>>
>> Sorry, I didn’t run iotest 297 before sending this series...
>>
>> The problems arise in patch 1:
>>
>> iotests.py:1113:0: C0301: Line too long (80/79) (line-too-long)
>> iotests.py:1106: error: Function is missing a return type annotation
>>
>> (So there’s a line with 80 characters, when 79 is the maximum (*shrug*),
>> and I failed to specify skip_for_format’s return type.)
>>
>> I think patch 1 needs the attached diff squashed in.  Are you willing to
>> do that or should I just send a v2?
> 
> I'm squashing it in. In fact, I already had fixed it, but I was too lazy
> to be more specific than Callable[..., Any], so I'll replace that with
> your version.

I have to admit I was intrigued to see how the actual signature would
turn out, so I followed it through until the biter end. :)

Thanks!


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-06-17 14:23 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-17 10:48 [PATCH 0/5] iotests: Some fixes for rarely run cases Max Reitz
2020-06-17 10:48 ` [PATCH 1/5] iotests.py: Add skip_for_formats() decorator Max Reitz
2020-06-17 11:37   ` Thomas Huth
2020-06-17 10:48 ` [PATCH 2/5] iotests/041: Skip test_small_target for qed Max Reitz
2020-06-17 11:39   ` Thomas Huth
2020-06-17 10:48 ` [PATCH 3/5] iotests/292: data_file is unsupported Max Reitz
2020-06-17 10:48 ` [PATCH 4/5] iotests/229: " Max Reitz
2020-06-17 10:48 ` [PATCH 5/5] iotests/{190,291}: compat=0.10 " Max Reitz
2020-06-17 12:27 ` [PATCH 0/5] iotests: Some fixes for rarely run cases no-reply
2020-06-17 12:52 ` Kevin Wolf
2020-06-17 14:11   ` Max Reitz
2020-06-17 14:19     ` Kevin Wolf
2020-06-17 14:21       ` Max Reitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).