qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Improve code coverage for ppc64
@ 2023-04-21  4:23 Kautuk Consul
  2023-04-21  4:23 ` [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding Kautuk Consul
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Kautuk Consul @ 2023-04-21  4:23 UTC (permalink / raw)
  To: Alex Bennée, Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa
  Cc: qemu-devel, Kautuk Consul

Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
boot_linux.py test-case due to which the code coverage for ppc
decreased by around 2%. As per the discussion on
https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
was mentioned that the baseline test for ppc64 could be modified
to make up this 2% code coverage. This patchset attempts to achieve
this 2% code coverage by adding various device command line
arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
test-case.

Changes since v3:
- Create a common ppc64_common_tuxrun routine in tuxrun_baselines.py
  and call that from the ppc64 and ppc64le test case routines.

Kautuk Consul (2):
  avocado_qemu/__init__.py: factor out the qemu-img finding
  tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64

 tests/avocado/avocado_qemu/__init__.py | 27 +++++-----
 tests/avocado/tuxrun_baselines.py      | 68 ++++++++++++++++++++++++--
 2 files changed, 80 insertions(+), 15 deletions(-)

-- 
2.25.1



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

* [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding
  2023-04-21  4:23 [PATCH v4 0/2] Improve code coverage for ppc64 Kautuk Consul
@ 2023-04-21  4:23 ` Kautuk Consul
  2023-04-21  6:03   ` Philippe Mathieu-Daudé
  2023-04-21  6:37   ` Kautuk Consul
  2023-04-21  4:23 ` [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64 Kautuk Consul
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 12+ messages in thread
From: Kautuk Consul @ 2023-04-21  4:23 UTC (permalink / raw)
  To: Alex Bennée, Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa
  Cc: qemu-devel, Kautuk Consul

Factor out the code that finds the qemu-img binary in the
QemuSystemTest class and create a new get_qemu_img() function
with it. This function will get called also from the new code
in tuxrun_baselines.py avocado test-case.

Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
---
 tests/avocado/avocado_qemu/__init__.py | 27 +++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py
index cb71f50db9..d8f390e27a 100644
--- a/tests/avocado/avocado_qemu/__init__.py
+++ b/tests/avocado/avocado_qemu/__init__.py
@@ -330,6 +330,19 @@ def _new_vm(self, name, *args):
             vm.add_args(*args)
         return vm
 
+    def get_qemu_img(self):
+        self.log.debug('Looking for and selecting a qemu-img binary')
+
+        # If qemu-img has been built, use it, otherwise the system wide one
+        # will be used.
+        qemu_img = os.path.join(BUILD_DIR, 'qemu-img')
+        if not os.path.exists(qemu_img):
+            qemu_img = find_command('qemu-img', False)
+        if qemu_img is False:
+            self.cancel('Could not find "qemu-img"')
+
+        return qemu_img
+
     @property
     def vm(self):
         return self.get_vm(name='default')
@@ -594,17 +607,9 @@ def set_up_existing_ssh_keys(self):
         return (ssh_public_key, ssh_private_key)
 
     def download_boot(self):
-        self.log.debug('Looking for and selecting a qemu-img binary to be '
-                       'used to create the bootable snapshot image')
-        # If qemu-img has been built, use it, otherwise the system wide one
-        # will be used.  If none is available, the test will cancel.
-        qemu_img = os.path.join(BUILD_DIR, 'qemu-img')
-        if not os.path.exists(qemu_img):
-            qemu_img = find_command('qemu-img', False)
-        if qemu_img is False:
-            self.cancel('Could not find "qemu-img", which is required to '
-                        'create the bootable image')
-        vmimage.QEMU_IMG = qemu_img
+        # Set the qemu-img binary.
+        # If none is available, the test will cancel.
+        vmimage.QEMU_IMG = super().get_qemu_img()
 
         self.log.info('Downloading/preparing boot image')
         # Fedora 31 only provides ppc64le images
-- 
2.25.1



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

* [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
  2023-04-21  4:23 [PATCH v4 0/2] Improve code coverage for ppc64 Kautuk Consul
  2023-04-21  4:23 ` [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding Kautuk Consul
@ 2023-04-21  4:23 ` Kautuk Consul
  2023-04-21  6:02   ` Philippe Mathieu-Daudé
  2023-04-21  6:38   ` Kautuk Consul
  2023-04-21  6:36 ` [PATCH v4 0/2] Improve " Kautuk Consul
  2023-04-21 13:29 ` Alex Bennée
  3 siblings, 2 replies; 12+ messages in thread
From: Kautuk Consul @ 2023-04-21  4:23 UTC (permalink / raw)
  To: Alex Bennée, Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa
  Cc: qemu-devel, Kautuk Consul

Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
boot_linux.py test-case due to which the code coverage for ppc
decreased by around 2%. As per the discussion on
https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
was mentioned that the baseline test for ppc64 could be modified
to make up this 2% code coverage. This patch attempts to achieve
this 2% code coverage by adding various device command line
arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
test-case.

The code coverage report with boot_linux.py, without it and finally
with these tuxrun_baselines.py changes is as follows:

With boot_linux.py
------------------
  lines......: 13.8% (58006 of 420997 lines)
  functions..: 20.7% (7675 of 36993 functions)
  branches...: 9.2% (22146 of 240611 branches)
Without boot_linux.py (without this patch changes)
--------------------------------------------------
  lines......: 11.9% (50174 of 420997 lines)
  functions..: 18.8% (6947 of 36993 functions)
  branches...: 7.4% (17580 of 239017 branches)
Without boot_linux.py (with this patch changes)
-----------------------------------------------
  lines......: 13.8% (58287 of 420997 lines)
  functions..: 20.7% (7640 of 36993 functions)
  branches...: 8.4% (20223 of 240611 branches)

Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
Reported-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/avocado/tuxrun_baselines.py | 68 +++++++++++++++++++++++++++++--
 1 file changed, 64 insertions(+), 4 deletions(-)

diff --git a/tests/avocado/tuxrun_baselines.py b/tests/avocado/tuxrun_baselines.py
index d343376faa..546abd9396 100644
--- a/tests/avocado/tuxrun_baselines.py
+++ b/tests/avocado/tuxrun_baselines.py
@@ -11,6 +11,7 @@
 
 import os
 import time
+import tempfile
 
 from avocado import skip, skipIf
 from avocado_qemu import QemuSystemTest
@@ -72,6 +73,8 @@ def setUp(self):
         # Occasionally we need extra devices to hook things up
         self.extradev = self.get_tag('extradev')
 
+        self.qemu_img = super().get_qemu_img()
+
     def wait_for_console_pattern(self, success_message, vm=None):
         wait_for_console_pattern(self, success_message,
                                  failure_message='Kernel panic - not syncing',
@@ -164,6 +167,63 @@ def common_tuxrun(self, dt=None,
         self.vm.launch()
         self.run_tuxtest_tests(haltmsg)
 
+    def ppc64_common_tuxrun(self, prefix):
+        # add device args to command line.
+        self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22',
+                         '-device', 'virtio-net,netdev=vnet')
+        self.vm.add_args('-netdev', '{"type":"user","id":"hostnet0"}',
+                         '-device', '{"driver":"virtio-net-pci","netdev":'
+                         '"hostnet0","id":"net0","mac":"52:54:00:4c:e3:86",'
+                         '"bus":"pci.0","addr":"0x9"}')
+        self.vm.add_args('-device', '{"driver":"qemu-xhci","p2":15,"p3":15,'
+                         '"id":"usb","bus":"pci.0","addr":"0x2"}')
+        self.vm.add_args('-device', '{"driver":"virtio-scsi-pci","id":"scsi0"'
+                         ',"bus":"pci.0","addr":"0x3"}')
+        self.vm.add_args('-device', '{"driver":"virtio-serial-pci","id":'
+                         '"virtio-serial0","bus":"pci.0","addr":"0x4"}')
+        self.vm.add_args('-device', '{"driver":"scsi-cd","bus":"scsi0.0"'
+                         ',"channel":0,"scsi-id":0,"lun":0,"device_id":'
+                         '"drive-scsi0-0-0-0","id":"scsi0-0-0-0"}')
+        self.vm.add_args('-device', '{"driver":"virtio-balloon-pci",'
+                         '"id":"balloon0","bus":"pci.0","addr":"0x6"}')
+        self.vm.add_args('-audiodev', '{"id":"audio1","driver":"none"}')
+        self.vm.add_args('-device', '{"driver":"usb-tablet","id":"input0"'
+                         ',"bus":"usb.0","port":"1"}')
+        self.vm.add_args('-device', '{"driver":"usb-kbd","id":"input1"'
+                         ',"bus":"usb.0","port":"2"}')
+        self.vm.add_args('-device', '{"driver":"VGA","id":"video0",'
+                         '"vgamem_mb":16,"bus":"pci.0","addr":"0x7"}')
+        self.vm.add_args('-object', '{"qom-type":"rng-random","id":"objrng0"'
+                         ',"filename":"/dev/urandom"}',
+                         '-device', '{"driver":"virtio-rng-pci","rng":"objrng0"'
+                         ',"id":"rng0","bus":"pci.0","addr":"0x8"}')
+        self.vm.add_args('-object', '{"qom-type":"cryptodev-backend-builtin",'
+                         '"id":"objcrypto0","queues":1}',
+                         '-device', '{"driver":"virtio-crypto-pci",'
+                         '"cryptodev":"objcrypto0","id":"crypto0","bus"'
+                         ':"pci.0","addr":"0xa"}')
+        self.vm.add_args('-device', '{"driver":"spapr-pci-host-bridge"'
+                         ',"index":1,"id":"pci.1"}')
+        self.vm.add_args('-device', '{"driver":"spapr-vscsi","id":"scsi1"'
+                         ',"reg":12288}')
+        self.vm.add_args('-m', '2G,slots=32,maxmem=4G',
+                         '-object', 'memory-backend-ram,id=ram1,size=1G',
+                         '-device', 'pc-dimm,id=dimm1,memdev=ram1')
+
+        # Create a temporary qcow2 and launch the test-case
+        with tempfile.NamedTemporaryFile(prefix=prefix,
+                                         suffix='.qcow2') as qcow2:
+            process.run(self.qemu_img + ' create -f qcow2 ' +
+                        qcow2.name + ' 1G')
+
+            self.vm.add_args('-drive', 'file=' + qcow2.name +
+                         ',format=qcow2,if=none,id='
+                         'drive-virtio-disk1',
+                         '-device', 'virtio-blk-pci,scsi=off,bus=pci.0,'
+                         'addr=0xb,drive=drive-virtio-disk1,id=virtio-disk1'
+                         ',bootindex=2')
+            self.common_tuxrun(drive="scsi-hd")
+
     #
     # The tests themselves. The configuration is derived from how
     # tuxrun invokes qemu (with minor tweaks like using -blockdev
@@ -308,7 +368,7 @@ def test_ppc64(self):
         """
         :avocado: tags=arch:ppc64
         :avocado: tags=machine:pseries
-        :avocado: tags=cpu:POWER8
+        :avocado: tags=cpu:POWER10
         :avocado: tags=endian:big
         :avocado: tags=console:hvc0
         :avocado: tags=tuxboot:ppc64
@@ -316,20 +376,20 @@ def test_ppc64(self):
         :avocado: tags=extradev:driver=spapr-vscsi
         :avocado: tags=root:sda
         """
-        self.common_tuxrun(drive="scsi-hd")
+        self.ppc64_common_tuxrun(prefix='tuxrun_ppc64_')
 
     def test_ppc64le(self):
         """
         :avocado: tags=arch:ppc64
         :avocado: tags=machine:pseries
-        :avocado: tags=cpu:POWER8
+        :avocado: tags=cpu:POWER10
         :avocado: tags=console:hvc0
         :avocado: tags=tuxboot:ppc64le
         :avocado: tags=image:vmlinux
         :avocado: tags=extradev:driver=spapr-vscsi
         :avocado: tags=root:sda
         """
-        self.common_tuxrun(drive="scsi-hd")
+        self.ppc64_common_tuxrun(prefix='tuxrun_ppc64le_')
 
     def test_riscv32(self):
         """
-- 
2.25.1



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

* Re: [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
  2023-04-21  4:23 ` [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64 Kautuk Consul
@ 2023-04-21  6:02   ` Philippe Mathieu-Daudé
  2023-04-21  6:38   ` Kautuk Consul
  1 sibling, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-04-21  6:02 UTC (permalink / raw)
  To: Kautuk Consul, Alex Bennée, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa
  Cc: qemu-devel

On 21/4/23 06:23, Kautuk Consul wrote:
> Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
> boot_linux.py test-case due to which the code coverage for ppc
> decreased by around 2%. As per the discussion on
> https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
> was mentioned that the baseline test for ppc64 could be modified
> to make up this 2% code coverage. This patch attempts to achieve
> this 2% code coverage by adding various device command line
> arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
> test-case.
> 
> The code coverage report with boot_linux.py, without it and finally
> with these tuxrun_baselines.py changes is as follows:
> 
> With boot_linux.py
> ------------------
>    lines......: 13.8% (58006 of 420997 lines)
>    functions..: 20.7% (7675 of 36993 functions)
>    branches...: 9.2% (22146 of 240611 branches)
> Without boot_linux.py (without this patch changes)
> --------------------------------------------------
>    lines......: 11.9% (50174 of 420997 lines)
>    functions..: 18.8% (6947 of 36993 functions)
>    branches...: 7.4% (17580 of 239017 branches)
> Without boot_linux.py (with this patch changes)
> -----------------------------------------------
>    lines......: 13.8% (58287 of 420997 lines)
>    functions..: 20.7% (7640 of 36993 functions)
>    branches...: 8.4% (20223 of 240611 branches)
> 
> Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
> Reported-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>   tests/avocado/tuxrun_baselines.py | 68 +++++++++++++++++++++++++++++--
>   1 file changed, 64 insertions(+), 4 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding
  2023-04-21  4:23 ` [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding Kautuk Consul
@ 2023-04-21  6:03   ` Philippe Mathieu-Daudé
  2023-04-21  6:37   ` Kautuk Consul
  1 sibling, 0 replies; 12+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-04-21  6:03 UTC (permalink / raw)
  To: Kautuk Consul, Alex Bennée, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa
  Cc: qemu-devel

On 21/4/23 06:23, Kautuk Consul wrote:
> Factor out the code that finds the qemu-img binary in the
> QemuSystemTest class and create a new get_qemu_img() function
> with it. This function will get called also from the new code
> in tuxrun_baselines.py avocado test-case.
> 
> Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
> ---
>   tests/avocado/avocado_qemu/__init__.py | 27 +++++++++++++++-----------
>   1 file changed, 16 insertions(+), 11 deletions(-)

Suggested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



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

* Re: [PATCH v4 0/2] Improve code coverage for ppc64
  2023-04-21  4:23 [PATCH v4 0/2] Improve code coverage for ppc64 Kautuk Consul
  2023-04-21  4:23 ` [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding Kautuk Consul
  2023-04-21  4:23 ` [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64 Kautuk Consul
@ 2023-04-21  6:36 ` Kautuk Consul
  2023-04-21 13:29 ` Alex Bennée
  3 siblings, 0 replies; 12+ messages in thread
From: Kautuk Consul @ 2023-04-21  6:36 UTC (permalink / raw)
  To: Alex Bennée, Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa,
	Harsh Prateek Bora
  Cc: qemu-devel

Adding Harsh Prateek Bora.

On 2023-04-20 23:23:20, Kautuk Consul wrote:
> Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
> boot_linux.py test-case due to which the code coverage for ppc
> decreased by around 2%. As per the discussion on
> https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
> was mentioned that the baseline test for ppc64 could be modified
> to make up this 2% code coverage. This patchset attempts to achieve
> this 2% code coverage by adding various device command line
> arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
> test-case.
> 
> Changes since v3:
> - Create a common ppc64_common_tuxrun routine in tuxrun_baselines.py
>   and call that from the ppc64 and ppc64le test case routines.
> 
> Kautuk Consul (2):
>   avocado_qemu/__init__.py: factor out the qemu-img finding
>   tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
> 
>  tests/avocado/avocado_qemu/__init__.py | 27 +++++-----
>  tests/avocado/tuxrun_baselines.py      | 68 ++++++++++++++++++++++++--
>  2 files changed, 80 insertions(+), 15 deletions(-)
> 
> -- 
> 2.25.1
> 
> 


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

* Re: [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding
  2023-04-21  4:23 ` [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding Kautuk Consul
  2023-04-21  6:03   ` Philippe Mathieu-Daudé
@ 2023-04-21  6:37   ` Kautuk Consul
  2023-04-21  6:55     ` Harsh Prateek Bora
  1 sibling, 1 reply; 12+ messages in thread
From: Kautuk Consul @ 2023-04-21  6:37 UTC (permalink / raw)
  To: Alex Bennée, Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa,
	Harsh Prateek Bora
  Cc: qemu-devel

Adding Harsh Prateel Bora.

On 2023-04-20 23:23:21, Kautuk Consul wrote:
> Factor out the code that finds the qemu-img binary in the
> QemuSystemTest class and create a new get_qemu_img() function
> with it. This function will get called also from the new code
> in tuxrun_baselines.py avocado test-case.
> 
> Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
> ---
>  tests/avocado/avocado_qemu/__init__.py | 27 +++++++++++++++-----------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py
> index cb71f50db9..d8f390e27a 100644
> --- a/tests/avocado/avocado_qemu/__init__.py
> +++ b/tests/avocado/avocado_qemu/__init__.py
> @@ -330,6 +330,19 @@ def _new_vm(self, name, *args):
>              vm.add_args(*args)
>          return vm
>  
> +    def get_qemu_img(self):
> +        self.log.debug('Looking for and selecting a qemu-img binary')
> +
> +        # If qemu-img has been built, use it, otherwise the system wide one
> +        # will be used.
> +        qemu_img = os.path.join(BUILD_DIR, 'qemu-img')
> +        if not os.path.exists(qemu_img):
> +            qemu_img = find_command('qemu-img', False)
> +        if qemu_img is False:
> +            self.cancel('Could not find "qemu-img"')
> +
> +        return qemu_img
> +
>      @property
>      def vm(self):
>          return self.get_vm(name='default')
> @@ -594,17 +607,9 @@ def set_up_existing_ssh_keys(self):
>          return (ssh_public_key, ssh_private_key)
>  
>      def download_boot(self):
> -        self.log.debug('Looking for and selecting a qemu-img binary to be '
> -                       'used to create the bootable snapshot image')
> -        # If qemu-img has been built, use it, otherwise the system wide one
> -        # will be used.  If none is available, the test will cancel.
> -        qemu_img = os.path.join(BUILD_DIR, 'qemu-img')
> -        if not os.path.exists(qemu_img):
> -            qemu_img = find_command('qemu-img', False)
> -        if qemu_img is False:
> -            self.cancel('Could not find "qemu-img", which is required to '
> -                        'create the bootable image')
> -        vmimage.QEMU_IMG = qemu_img
> +        # Set the qemu-img binary.
> +        # If none is available, the test will cancel.
> +        vmimage.QEMU_IMG = super().get_qemu_img()
>  
>          self.log.info('Downloading/preparing boot image')
>          # Fedora 31 only provides ppc64le images
> -- 
> 2.25.1
> 
> 


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

* Re: [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
  2023-04-21  4:23 ` [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64 Kautuk Consul
  2023-04-21  6:02   ` Philippe Mathieu-Daudé
@ 2023-04-21  6:38   ` Kautuk Consul
  2023-04-21  6:40     ` Harsh Prateek Bora
  1 sibling, 1 reply; 12+ messages in thread
From: Kautuk Consul @ 2023-04-21  6:38 UTC (permalink / raw)
  To: Alex Bennée, Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa,
	Harsh Prateek Bora
  Cc: qemu-devel

Adding Harsh Prateek Bora <harshpb@linux.ibm.com>.

On 2023-04-20 23:23:22, Kautuk Consul wrote:
> Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
> boot_linux.py test-case due to which the code coverage for ppc
> decreased by around 2%. As per the discussion on
> https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
> was mentioned that the baseline test for ppc64 could be modified
> to make up this 2% code coverage. This patch attempts to achieve
> this 2% code coverage by adding various device command line
> arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
> test-case.
> 
> The code coverage report with boot_linux.py, without it and finally
> with these tuxrun_baselines.py changes is as follows:
> 
> With boot_linux.py
> ------------------
>   lines......: 13.8% (58006 of 420997 lines)
>   functions..: 20.7% (7675 of 36993 functions)
>   branches...: 9.2% (22146 of 240611 branches)
> Without boot_linux.py (without this patch changes)
> --------------------------------------------------
>   lines......: 11.9% (50174 of 420997 lines)
>   functions..: 18.8% (6947 of 36993 functions)
>   branches...: 7.4% (17580 of 239017 branches)
> Without boot_linux.py (with this patch changes)
> -----------------------------------------------
>   lines......: 13.8% (58287 of 420997 lines)
>   functions..: 20.7% (7640 of 36993 functions)
>   branches...: 8.4% (20223 of 240611 branches)
> 
> Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
> Reported-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  tests/avocado/tuxrun_baselines.py | 68 +++++++++++++++++++++++++++++--
>  1 file changed, 64 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/avocado/tuxrun_baselines.py b/tests/avocado/tuxrun_baselines.py
> index d343376faa..546abd9396 100644
> --- a/tests/avocado/tuxrun_baselines.py
> +++ b/tests/avocado/tuxrun_baselines.py
> @@ -11,6 +11,7 @@
>  
>  import os
>  import time
> +import tempfile
>  
>  from avocado import skip, skipIf
>  from avocado_qemu import QemuSystemTest
> @@ -72,6 +73,8 @@ def setUp(self):
>          # Occasionally we need extra devices to hook things up
>          self.extradev = self.get_tag('extradev')
>  
> +        self.qemu_img = super().get_qemu_img()
> +
>      def wait_for_console_pattern(self, success_message, vm=None):
>          wait_for_console_pattern(self, success_message,
>                                   failure_message='Kernel panic - not syncing',
> @@ -164,6 +167,63 @@ def common_tuxrun(self, dt=None,
>          self.vm.launch()
>          self.run_tuxtest_tests(haltmsg)
>  
> +    def ppc64_common_tuxrun(self, prefix):
> +        # add device args to command line.
> +        self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22',
> +                         '-device', 'virtio-net,netdev=vnet')
> +        self.vm.add_args('-netdev', '{"type":"user","id":"hostnet0"}',
> +                         '-device', '{"driver":"virtio-net-pci","netdev":'
> +                         '"hostnet0","id":"net0","mac":"52:54:00:4c:e3:86",'
> +                         '"bus":"pci.0","addr":"0x9"}')
> +        self.vm.add_args('-device', '{"driver":"qemu-xhci","p2":15,"p3":15,'
> +                         '"id":"usb","bus":"pci.0","addr":"0x2"}')
> +        self.vm.add_args('-device', '{"driver":"virtio-scsi-pci","id":"scsi0"'
> +                         ',"bus":"pci.0","addr":"0x3"}')
> +        self.vm.add_args('-device', '{"driver":"virtio-serial-pci","id":'
> +                         '"virtio-serial0","bus":"pci.0","addr":"0x4"}')
> +        self.vm.add_args('-device', '{"driver":"scsi-cd","bus":"scsi0.0"'
> +                         ',"channel":0,"scsi-id":0,"lun":0,"device_id":'
> +                         '"drive-scsi0-0-0-0","id":"scsi0-0-0-0"}')
> +        self.vm.add_args('-device', '{"driver":"virtio-balloon-pci",'
> +                         '"id":"balloon0","bus":"pci.0","addr":"0x6"}')
> +        self.vm.add_args('-audiodev', '{"id":"audio1","driver":"none"}')
> +        self.vm.add_args('-device', '{"driver":"usb-tablet","id":"input0"'
> +                         ',"bus":"usb.0","port":"1"}')
> +        self.vm.add_args('-device', '{"driver":"usb-kbd","id":"input1"'
> +                         ',"bus":"usb.0","port":"2"}')
> +        self.vm.add_args('-device', '{"driver":"VGA","id":"video0",'
> +                         '"vgamem_mb":16,"bus":"pci.0","addr":"0x7"}')
> +        self.vm.add_args('-object', '{"qom-type":"rng-random","id":"objrng0"'
> +                         ',"filename":"/dev/urandom"}',
> +                         '-device', '{"driver":"virtio-rng-pci","rng":"objrng0"'
> +                         ',"id":"rng0","bus":"pci.0","addr":"0x8"}')
> +        self.vm.add_args('-object', '{"qom-type":"cryptodev-backend-builtin",'
> +                         '"id":"objcrypto0","queues":1}',
> +                         '-device', '{"driver":"virtio-crypto-pci",'
> +                         '"cryptodev":"objcrypto0","id":"crypto0","bus"'
> +                         ':"pci.0","addr":"0xa"}')
> +        self.vm.add_args('-device', '{"driver":"spapr-pci-host-bridge"'
> +                         ',"index":1,"id":"pci.1"}')
> +        self.vm.add_args('-device', '{"driver":"spapr-vscsi","id":"scsi1"'
> +                         ',"reg":12288}')
> +        self.vm.add_args('-m', '2G,slots=32,maxmem=4G',
> +                         '-object', 'memory-backend-ram,id=ram1,size=1G',
> +                         '-device', 'pc-dimm,id=dimm1,memdev=ram1')
> +
> +        # Create a temporary qcow2 and launch the test-case
> +        with tempfile.NamedTemporaryFile(prefix=prefix,
> +                                         suffix='.qcow2') as qcow2:
> +            process.run(self.qemu_img + ' create -f qcow2 ' +
> +                        qcow2.name + ' 1G')
> +
> +            self.vm.add_args('-drive', 'file=' + qcow2.name +
> +                         ',format=qcow2,if=none,id='
> +                         'drive-virtio-disk1',
> +                         '-device', 'virtio-blk-pci,scsi=off,bus=pci.0,'
> +                         'addr=0xb,drive=drive-virtio-disk1,id=virtio-disk1'
> +                         ',bootindex=2')
> +            self.common_tuxrun(drive="scsi-hd")
> +
>      #
>      # The tests themselves. The configuration is derived from how
>      # tuxrun invokes qemu (with minor tweaks like using -blockdev
> @@ -308,7 +368,7 @@ def test_ppc64(self):
>          """
>          :avocado: tags=arch:ppc64
>          :avocado: tags=machine:pseries
> -        :avocado: tags=cpu:POWER8
> +        :avocado: tags=cpu:POWER10
>          :avocado: tags=endian:big
>          :avocado: tags=console:hvc0
>          :avocado: tags=tuxboot:ppc64
> @@ -316,20 +376,20 @@ def test_ppc64(self):
>          :avocado: tags=extradev:driver=spapr-vscsi
>          :avocado: tags=root:sda
>          """
> -        self.common_tuxrun(drive="scsi-hd")
> +        self.ppc64_common_tuxrun(prefix='tuxrun_ppc64_')
>  
>      def test_ppc64le(self):
>          """
>          :avocado: tags=arch:ppc64
>          :avocado: tags=machine:pseries
> -        :avocado: tags=cpu:POWER8
> +        :avocado: tags=cpu:POWER10
>          :avocado: tags=console:hvc0
>          :avocado: tags=tuxboot:ppc64le
>          :avocado: tags=image:vmlinux
>          :avocado: tags=extradev:driver=spapr-vscsi
>          :avocado: tags=root:sda
>          """
> -        self.common_tuxrun(drive="scsi-hd")
> +        self.ppc64_common_tuxrun(prefix='tuxrun_ppc64le_')
>  
>      def test_riscv32(self):
>          """
> -- 
> 2.25.1
> 
> 


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

* Re: [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
  2023-04-21  6:38   ` Kautuk Consul
@ 2023-04-21  6:40     ` Harsh Prateek Bora
  0 siblings, 0 replies; 12+ messages in thread
From: Harsh Prateek Bora @ 2023-04-21  6:40 UTC (permalink / raw)
  To: Kautuk Consul, Alex Bennée, Philippe Mathieu-Daudé,
	Thomas Huth, Wainer dos Santos Moschetta, Beraldo Leal,
	Cleber Rosa
  Cc: qemu-devel



On 4/21/23 12:08, Kautuk Consul wrote:
> Adding Harsh Prateek Bora <harshpb@linux.ibm.com>.
> 
> On 2023-04-20 23:23:22, Kautuk Consul wrote:
>> Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
>> boot_linux.py test-case due to which the code coverage for ppc
>> decreased by around 2%. As per the discussion on
>> https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
>> was mentioned that the baseline test for ppc64 could be modified
>> to make up this 2% code coverage. This patch attempts to achieve
>> this 2% code coverage by adding various device command line
>> arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
>> test-case.
>>
>> The code coverage report with boot_linux.py, without it and finally
>> with these tuxrun_baselines.py changes is as follows:
>>
>> With boot_linux.py
>> ------------------
>>    lines......: 13.8% (58006 of 420997 lines)
>>    functions..: 20.7% (7675 of 36993 functions)
>>    branches...: 9.2% (22146 of 240611 branches)
>> Without boot_linux.py (without this patch changes)
>> --------------------------------------------------
>>    lines......: 11.9% (50174 of 420997 lines)
>>    functions..: 18.8% (6947 of 36993 functions)
>>    branches...: 7.4% (17580 of 239017 branches)
>> Without boot_linux.py (with this patch changes)
>> -----------------------------------------------
>>    lines......: 13.8% (58287 of 420997 lines)
>>    functions..: 20.7% (7640 of 36993 functions)
>>    branches...: 8.4% (20223 of 240611 branches)
>>
>> Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
>> Reported-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>>   tests/avocado/tuxrun_baselines.py | 68 +++++++++++++++++++++++++++++--
>>   1 file changed, 64 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/avocado/tuxrun_baselines.py b/tests/avocado/tuxrun_baselines.py
>> index d343376faa..546abd9396 100644
>> --- a/tests/avocado/tuxrun_baselines.py
>> +++ b/tests/avocado/tuxrun_baselines.py
>> @@ -11,6 +11,7 @@
>>   
>>   import os
>>   import time
>> +import tempfile
>>   
>>   from avocado import skip, skipIf
>>   from avocado_qemu import QemuSystemTest
>> @@ -72,6 +73,8 @@ def setUp(self):
>>           # Occasionally we need extra devices to hook things up
>>           self.extradev = self.get_tag('extradev')
>>   
>> +        self.qemu_img = super().get_qemu_img()
>> +
>>       def wait_for_console_pattern(self, success_message, vm=None):
>>           wait_for_console_pattern(self, success_message,
>>                                    failure_message='Kernel panic - not syncing',
>> @@ -164,6 +167,63 @@ def common_tuxrun(self, dt=None,
>>           self.vm.launch()
>>           self.run_tuxtest_tests(haltmsg)
>>   
>> +    def ppc64_common_tuxrun(self, prefix):
>> +        # add device args to command line.
>> +        self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22',
>> +                         '-device', 'virtio-net,netdev=vnet')
>> +        self.vm.add_args('-netdev', '{"type":"user","id":"hostnet0"}',
>> +                         '-device', '{"driver":"virtio-net-pci","netdev":'
>> +                         '"hostnet0","id":"net0","mac":"52:54:00:4c:e3:86",'
>> +                         '"bus":"pci.0","addr":"0x9"}')
>> +        self.vm.add_args('-device', '{"driver":"qemu-xhci","p2":15,"p3":15,'
>> +                         '"id":"usb","bus":"pci.0","addr":"0x2"}')
>> +        self.vm.add_args('-device', '{"driver":"virtio-scsi-pci","id":"scsi0"'
>> +                         ',"bus":"pci.0","addr":"0x3"}')
>> +        self.vm.add_args('-device', '{"driver":"virtio-serial-pci","id":'
>> +                         '"virtio-serial0","bus":"pci.0","addr":"0x4"}')
>> +        self.vm.add_args('-device', '{"driver":"scsi-cd","bus":"scsi0.0"'
>> +                         ',"channel":0,"scsi-id":0,"lun":0,"device_id":'
>> +                         '"drive-scsi0-0-0-0","id":"scsi0-0-0-0"}')
>> +        self.vm.add_args('-device', '{"driver":"virtio-balloon-pci",'
>> +                         '"id":"balloon0","bus":"pci.0","addr":"0x6"}')
>> +        self.vm.add_args('-audiodev', '{"id":"audio1","driver":"none"}')
>> +        self.vm.add_args('-device', '{"driver":"usb-tablet","id":"input0"'
>> +                         ',"bus":"usb.0","port":"1"}')
>> +        self.vm.add_args('-device', '{"driver":"usb-kbd","id":"input1"'
>> +                         ',"bus":"usb.0","port":"2"}')
>> +        self.vm.add_args('-device', '{"driver":"VGA","id":"video0",'
>> +                         '"vgamem_mb":16,"bus":"pci.0","addr":"0x7"}')
>> +        self.vm.add_args('-object', '{"qom-type":"rng-random","id":"objrng0"'
>> +                         ',"filename":"/dev/urandom"}',
>> +                         '-device', '{"driver":"virtio-rng-pci","rng":"objrng0"'
>> +                         ',"id":"rng0","bus":"pci.0","addr":"0x8"}')
>> +        self.vm.add_args('-object', '{"qom-type":"cryptodev-backend-builtin",'
>> +                         '"id":"objcrypto0","queues":1}',
>> +                         '-device', '{"driver":"virtio-crypto-pci",'
>> +                         '"cryptodev":"objcrypto0","id":"crypto0","bus"'
>> +                         ':"pci.0","addr":"0xa"}')
>> +        self.vm.add_args('-device', '{"driver":"spapr-pci-host-bridge"'
>> +                         ',"index":1,"id":"pci.1"}')
>> +        self.vm.add_args('-device', '{"driver":"spapr-vscsi","id":"scsi1"'
>> +                         ',"reg":12288}')
>> +        self.vm.add_args('-m', '2G,slots=32,maxmem=4G',
>> +                         '-object', 'memory-backend-ram,id=ram1,size=1G',
>> +                         '-device', 'pc-dimm,id=dimm1,memdev=ram1')
>> +
>> +        # Create a temporary qcow2 and launch the test-case
>> +        with tempfile.NamedTemporaryFile(prefix=prefix,
>> +                                         suffix='.qcow2') as qcow2:
>> +            process.run(self.qemu_img + ' create -f qcow2 ' +
>> +                        qcow2.name + ' 1G')
>> +
>> +            self.vm.add_args('-drive', 'file=' + qcow2.name +
>> +                         ',format=qcow2,if=none,id='
>> +                         'drive-virtio-disk1',
>> +                         '-device', 'virtio-blk-pci,scsi=off,bus=pci.0,'
>> +                         'addr=0xb,drive=drive-virtio-disk1,id=virtio-disk1'
>> +                         ',bootindex=2')
>> +            self.common_tuxrun(drive="scsi-hd")
>> +
>>       #
>>       # The tests themselves. The configuration is derived from how
>>       # tuxrun invokes qemu (with minor tweaks like using -blockdev
>> @@ -308,7 +368,7 @@ def test_ppc64(self):
>>           """
>>           :avocado: tags=arch:ppc64
>>           :avocado: tags=machine:pseries
>> -        :avocado: tags=cpu:POWER8
>> +        :avocado: tags=cpu:POWER10
>>           :avocado: tags=endian:big
>>           :avocado: tags=console:hvc0
>>           :avocado: tags=tuxboot:ppc64
>> @@ -316,20 +376,20 @@ def test_ppc64(self):
>>           :avocado: tags=extradev:driver=spapr-vscsi
>>           :avocado: tags=root:sda
>>           """
>> -        self.common_tuxrun(drive="scsi-hd")
>> +        self.ppc64_common_tuxrun(prefix='tuxrun_ppc64_')
>>   
>>       def test_ppc64le(self):
>>           """
>>           :avocado: tags=arch:ppc64
>>           :avocado: tags=machine:pseries
>> -        :avocado: tags=cpu:POWER8
>> +        :avocado: tags=cpu:POWER10
>>           :avocado: tags=console:hvc0
>>           :avocado: tags=tuxboot:ppc64le
>>           :avocado: tags=image:vmlinux
>>           :avocado: tags=extradev:driver=spapr-vscsi
>>           :avocado: tags=root:sda
>>           """
>> -        self.common_tuxrun(drive="scsi-hd")
>> +        self.ppc64_common_tuxrun(prefix='tuxrun_ppc64le_')
>>   

Looks neat, thanks for addressing review comments!

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>

>>       def test_riscv32(self):
>>           """
>> -- 
>> 2.25.1
>>
>>


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

* Re: [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding
  2023-04-21  6:37   ` Kautuk Consul
@ 2023-04-21  6:55     ` Harsh Prateek Bora
  0 siblings, 0 replies; 12+ messages in thread
From: Harsh Prateek Bora @ 2023-04-21  6:55 UTC (permalink / raw)
  To: Kautuk Consul, Alex Bennée, Philippe Mathieu-Daudé,
	Thomas Huth, Wainer dos Santos Moschetta, Beraldo Leal,
	Cleber Rosa, Harsh Prateek Bora
  Cc: qemu-devel

Kautuk Consul wrote:
> Adding Harsh Prateek Bora.
> 
> On 2023-04-20 23:23:21, Kautuk Consul wrote:
> > Factor out the code that finds the qemu-img binary in the
> > QemuSystemTest class and create a new get_qemu_img() function
> > with it. This function will get called also from the new code
> > in tuxrun_baselines.py avocado test-case.
> > 
> > Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
> > ---
> >  tests/avocado/avocado_qemu/__init__.py | 27 +++++++++++++++-----------
> >  1 file changed, 16 insertions(+), 11 deletions(-)
> > 
> > diff --git a/tests/avocado/avocado_qemu/__init__.py b/tests/avocado/avocado_qemu/__init__.py
> > index cb71f50db9..d8f390e27a 100644
> > --- a/tests/avocado/avocado_qemu/__init__.py
> > +++ b/tests/avocado/avocado_qemu/__init__.py
> > @@ -330,6 +330,19 @@ def _new_vm(self, name, *args):
> >              vm.add_args(*args)
> >          return vm
> >  
> > +    def get_qemu_img(self):
> > +        self.log.debug('Looking for and selecting a qemu-img binary')
> > +
> > +        # If qemu-img has been built, use it, otherwise the system wide one
> > +        # will be used.
> > +        qemu_img = os.path.join(BUILD_DIR, 'qemu-img')
> > +        if not os.path.exists(qemu_img):
> > +            qemu_img = find_command('qemu-img', False)
> > +        if qemu_img is False:
> > +            self.cancel('Could not find "qemu-img"')
> > +
> > +        return qemu_img
> > +
> >      @property
> >      def vm(self):
> >          return self.get_vm(name='default')
> > @@ -594,17 +607,9 @@ def set_up_existing_ssh_keys(self):
> >          return (ssh_public_key, ssh_private_key)
> >  
> >      def download_boot(self):
> > -        self.log.debug('Looking for and selecting a qemu-img binary to be '
> > -                       'used to create the bootable snapshot image')
> > -        # If qemu-img has been built, use it, otherwise the system wide one
> > -        # will be used.  If none is available, the test will cancel.
> > -        qemu_img = os.path.join(BUILD_DIR, 'qemu-img')
> > -        if not os.path.exists(qemu_img):
> > -            qemu_img = find_command('qemu-img', False)
> > -        if qemu_img is False:
> > -            self.cancel('Could not find "qemu-img", which is required to '
> > -                        'create the bootable image')
> > -        vmimage.QEMU_IMG = qemu_img
> > +        # Set the qemu-img binary.
> > +        # If none is available, the test will cancel.
> > +        vmimage.QEMU_IMG = super().get_qemu_img()
> > 
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>

> >          self.log.info('Downloading/preparing boot image')
> >          # Fedora 31 only provides ppc64le images
> > -- 
> > 2.25.1
> > 
> > 
> 




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

* Re: [PATCH v4 0/2] Improve code coverage for ppc64
  2023-04-21  4:23 [PATCH v4 0/2] Improve code coverage for ppc64 Kautuk Consul
                   ` (2 preceding siblings ...)
  2023-04-21  6:36 ` [PATCH v4 0/2] Improve " Kautuk Consul
@ 2023-04-21 13:29 ` Alex Bennée
  2023-04-24  4:20   ` Kautuk Consul
  3 siblings, 1 reply; 12+ messages in thread
From: Alex Bennée @ 2023-04-21 13:29 UTC (permalink / raw)
  To: Kautuk Consul
  Cc: Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa,
	qemu-devel


Kautuk Consul <kconsul@linux.vnet.ibm.com> writes:

> Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
> boot_linux.py test-case due to which the code coverage for ppc
> decreased by around 2%. As per the discussion on
> https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
> was mentioned that the baseline test for ppc64 could be modified
> to make up this 2% code coverage. This patchset attempts to achieve
> this 2% code coverage by adding various device command line
> arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
> test-case.

I've pulled the first patch into my testing/next, but the second
conflicts with the inflight patch which adds checksums:

  Message-Id: <20230417134321.3627231-3-alex.bennee@linaro.org>
  Date: Mon, 17 Apr 2023 14:43:17 +0100
  Subject: [PATCH v4 2/6] tests/avocado: use the new snapshots for testing
  From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>

You can either wait and re-base once the PR goes in (I'll send a pre-PR
Monday) or do you can re-base directly off my branch at:

  https://gitlab.com/stsquad/qemu/-/tree/testing/next

and send the tested patch mentioning its based off my testing/next and
I'll include it in the pre-PR.

>
> Changes since v3:
> - Create a common ppc64_common_tuxrun routine in tuxrun_baselines.py
>   and call that from the ppc64 and ppc64le test case routines.
>
> Kautuk Consul (2):
>   avocado_qemu/__init__.py: factor out the qemu-img finding
>   tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
>
>  tests/avocado/avocado_qemu/__init__.py | 27 +++++-----
>  tests/avocado/tuxrun_baselines.py      | 68 ++++++++++++++++++++++++--
>  2 files changed, 80 insertions(+), 15 deletions(-)


-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


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

* Re: [PATCH v4 0/2] Improve code coverage for ppc64
  2023-04-21 13:29 ` Alex Bennée
@ 2023-04-24  4:20   ` Kautuk Consul
  0 siblings, 0 replies; 12+ messages in thread
From: Kautuk Consul @ 2023-04-24  4:20 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Philippe Mathieu-Daudé, Thomas Huth,
	Wainer dos Santos Moschetta, Beraldo Leal, Cleber Rosa,
	qemu-devel

On 2023-04-21 14:29:38, Alex Bennée wrote:
> 
> Kautuk Consul <kconsul@linux.vnet.ibm.com> writes:
> 
> > Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
> > boot_linux.py test-case due to which the code coverage for ppc
> > decreased by around 2%. As per the discussion on
> > https://lore.kernel.org/qemu-devel/87sfdpqcy4.fsf@linaro.org/ it
> > was mentioned that the baseline test for ppc64 could be modified
> > to make up this 2% code coverage. This patchset attempts to achieve
> > this 2% code coverage by adding various device command line
> > arguments (to ./qemu-system-ppc64) in the tuxrun_baselines.py
> > test-case.
> 
> I've pulled the first patch into my testing/next, but the second
> conflicts with the inflight patch which adds checksums:
> 
>   Message-Id: <20230417134321.3627231-3-alex.bennee@linaro.org>
>   Date: Mon, 17 Apr 2023 14:43:17 +0100
>   Subject: [PATCH v4 2/6] tests/avocado: use the new snapshots for testing
>   From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>
> 
> You can either wait and re-base once the PR goes in (I'll send a pre-PR
> Monday) or do you can re-base directly off my branch at:
> 
>   https://gitlab.com/stsquad/qemu/-/tree/testing/next
> 
> and send the tested patch mentioning its based off my testing/next and
> I'll include it in the pre-PR.
Sent a v5 for this rebased off
https://gitlab.com/stsquad/qemu/-/tree/testing/next.

Thanks.
> 
> >
> > Changes since v3:
> > - Create a common ppc64_common_tuxrun routine in tuxrun_baselines.py
> >   and call that from the ppc64 and ppc64le test case routines.
> >
> > Kautuk Consul (2):
> >   avocado_qemu/__init__.py: factor out the qemu-img finding
> >   tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64
> >
> >  tests/avocado/avocado_qemu/__init__.py | 27 +++++-----
> >  tests/avocado/tuxrun_baselines.py      | 68 ++++++++++++++++++++++++--
> >  2 files changed, 80 insertions(+), 15 deletions(-)
> 
> 
> -- 
> Alex Bennée
> Virtualisation Tech Lead @ Linaro
> 


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

end of thread, other threads:[~2023-04-24  4:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-21  4:23 [PATCH v4 0/2] Improve code coverage for ppc64 Kautuk Consul
2023-04-21  4:23 ` [PATCH v4 1/2] avocado_qemu/__init__.py: factor out the qemu-img finding Kautuk Consul
2023-04-21  6:03   ` Philippe Mathieu-Daudé
2023-04-21  6:37   ` Kautuk Consul
2023-04-21  6:55     ` Harsh Prateek Bora
2023-04-21  4:23 ` [PATCH v4 2/2] tests/avocado/tuxrun_baselines.py: improve code coverage for ppc64 Kautuk Consul
2023-04-21  6:02   ` Philippe Mathieu-Daudé
2023-04-21  6:38   ` Kautuk Consul
2023-04-21  6:40     ` Harsh Prateek Bora
2023-04-21  6:36 ` [PATCH v4 0/2] Improve " Kautuk Consul
2023-04-21 13:29 ` Alex Bennée
2023-04-24  4:20   ` Kautuk Consul

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).