qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Nicholas Piggin" <npiggin@gmail.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: "Fabiano Rosas" <farosas@suse.de>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"John Snow" <jsnow@redhat.com>,
	qemu-ppc@nongnu.org,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Ani Sinha" <anisinha@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>
Subject: Re: [PATCH v3 20/24] tests/functional: Convert the ppc_hv avocado test into a standalone test
Date: Tue, 06 Aug 2024 08:58:06 +1000	[thread overview]
Message-ID: <D38CM1VZ3K2M.25N2MXFIFENIY@gmail.com> (raw)
In-Reply-To: <20240730170347.4103919-21-berrange@redhat.com>

Thanks for doing this.

I have a fix for this problem, it's a bug with the test harness
code but was not merged yet. I'll re-send it.

Thanks,
Nick

On Wed Jul 31, 2024 at 3:03 AM AEST, Daniel P. Berrangé wrote:
> From: Thomas Huth <thuth@redhat.com>
>
> Note: The original Avocado test seems currently to be broken, it hangs
> when the guest is trying to install additional packages. So mark it as
> broken for now until it gets fixed.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .../test_ppc64_hv.py}                         | 48 ++++++++-----------
>  1 file changed, 20 insertions(+), 28 deletions(-)
>  rename tests/{avocado/ppc_hv_tests.py => functional/test_ppc64_hv.py} (88%)
>  mode change 100644 => 100755
>
> diff --git a/tests/avocado/ppc_hv_tests.py b/tests/functional/test_ppc64_hv.py
> old mode 100644
> new mode 100755
> similarity index 88%
> rename from tests/avocado/ppc_hv_tests.py
> rename to tests/functional/test_ppc64_hv.py
> index bf8822bb97..a45657c87e
> --- a/tests/avocado/ppc_hv_tests.py
> +++ b/tests/functional/test_ppc64_hv.py
> @@ -1,3 +1,5 @@
> +#!/usr/bin/env python3
> +#
>  # Tests that specifically try to exercise hypervisor features of the
>  # target machines. powernv supports the Power hypervisor ISA, and
>  # pseries supports the nested-HV hypervisor spec.
> @@ -7,10 +9,10 @@
>  # This work is licensed under the terms of the GNU GPL, version 2 or
>  # later.  See the COPYING file in the top-level directory.
>  
> -from avocado import skipIf, skipUnless
> -from avocado.utils import archive
> -from avocado_qemu import QemuSystemTest
> -from avocado_qemu import wait_for_console_pattern, exec_command
> +from unittest import skipIf, skipUnless
> +from qemu_test.utils import archive_extract
> +from qemu_test import QemuSystemTest, Asset
> +from qemu_test import wait_for_console_pattern, exec_command
>  import os
>  import time
>  import subprocess
> @@ -47,7 +49,7 @@ def missing_deps():
>  @skipIf(missing_deps(), 'dependencies (%s) not installed' % ','.join(deps))
>  @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test sometimes gets stuck due to console handling problem')
>  @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> -@skipUnless(os.getenv('SPEED') == 'slow', 'runtime limited')
> +@skip('broken test - guest fails to install packages')
>  class HypervisorTest(QemuSystemTest):
>  
>      timeout = 1000
> @@ -55,6 +57,12 @@ class HypervisorTest(QemuSystemTest):
>      panic_message = 'Kernel panic - not syncing'
>      good_message = 'VFS: Cannot open root device'
>  
> +    # Alpine use sha256 so I recalculated this myself
> +    ASSET_ISO = Asset(
> +        ('https://dl-cdn.alpinelinux.org/alpine/v3.18/'
> +         'releases/ppc64le/alpine-standard-3.18.4-ppc64le.iso'),
> +        'c26b8d3e17c2f3f0fed02b4b1296589c2390e6d5548610099af75300edd7b3ff')
> +
>      def extract_from_iso(self, iso, path):
>          """
>          Extracts a file from an iso file into the test workdir
> @@ -84,14 +92,7 @@ def extract_from_iso(self, iso, path):
>      def setUp(self):
>          super().setUp()
>  
> -        iso_url = ('https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/ppc64le/alpine-standard-3.18.4-ppc64le.iso')
> -
> -        # Alpine use sha256 so I recalculated this myself
> -        iso_sha256 = 'c26b8d3e17c2f3f0fed02b4b1296589c2390e6d5548610099af75300edd7b3ff'
> -        iso_path = self.fetch_asset(iso_url, asset_hash=iso_sha256,
> -                                    algorithm = "sha256")
> -
> -        self.iso_path = iso_path
> +        self.iso_path = self.ASSET_ISO.fetch()
>          self.vmlinuz = self.extract_from_iso(iso_path, '/boot/vmlinuz-lts')
>          self.initramfs = self.extract_from_iso(iso_path, '/boot/initramfs-lts')
>  
> @@ -159,12 +160,8 @@ def do_test_kvm(self, hpt=False):
>          wait_for_console_pattern(self, 'alpine:~#')
>  
>      def test_hv_pseries(self):
> -        """
> -        :avocado: tags=arch:ppc64
> -        :avocado: tags=machine:pseries
> -        :avocado: tags=accel:tcg
> -        """
>          self.require_accelerator("tcg")
> +        self.set_machine('pseries')
>          self.vm.add_args("-accel", "tcg,thread=multi")
>          self.vm.add_args('-device', 'nvme,serial=1234,drive=drive0')
>          self.vm.add_args("-machine", "x-vof=on,cap-nested-hv=on")
> @@ -174,12 +171,8 @@ def test_hv_pseries(self):
>          self.do_stop_alpine()
>  
>      def test_hv_pseries_kvm(self):
> -        """
> -        :avocado: tags=arch:ppc64
> -        :avocado: tags=machine:pseries
> -        :avocado: tags=accel:kvm
> -        """
>          self.require_accelerator("kvm")
> +        self.set_machine('pseries')
>          self.vm.add_args("-accel", "kvm")
>          self.vm.add_args('-device', 'nvme,serial=1234,drive=drive0')
>          self.vm.add_args("-machine", "x-vof=on,cap-nested-hv=on,cap-ccf-assist=off")
> @@ -189,12 +182,8 @@ def test_hv_pseries_kvm(self):
>          self.do_stop_alpine()
>  
>      def test_hv_powernv(self):
> -        """
> -        :avocado: tags=arch:ppc64
> -        :avocado: tags=machine:powernv
> -        :avocado: tags=accel:tcg
> -        """
>          self.require_accelerator("tcg")
> +        self.set_machine('powernv')
>          self.vm.add_args("-accel", "tcg,thread=multi")
>          self.vm.add_args('-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234,drive=drive0',
>                           '-device', 'e1000e,netdev=net0,mac=C0:FF:EE:00:00:02,bus=pcie.0,addr=0x0',
> @@ -204,3 +193,6 @@ def test_hv_powernv(self):
>          self.do_test_kvm()
>          self.do_test_kvm(True)
>          self.do_stop_alpine()
> +
> +if __name__ == '__main__':
> +    QemuSystemTest.main()



  reply	other threads:[~2024-08-05 22:58 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-30 17:03 [PATCH v3 00/24] Convert avocado tests to normal Python unittests Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 01/24] python: Install pycotap in our venv if necessary Daniel P. Berrangé
2024-07-31 12:49   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 02/24] tests/functional: Add base classes for the upcoming pytest-based tests Daniel P. Berrangé
2024-07-31 12:53   ` Philippe Mathieu-Daudé
2024-07-31 14:24   ` Alex Bennée
2024-08-01 10:07     ` Daniel P. Berrangé
2024-08-01 16:11   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 03/24] tests/functional: Set up logging Daniel P. Berrangé
2024-08-01 10:10   ` Alex Bennée
2024-08-13  9:34     ` Thomas Huth
2024-07-30 17:03 ` [PATCH v3 04/24] tests/Makefile.include: Increase the level of indentation in the help text Daniel P. Berrangé
2024-07-31 12:49   ` Philippe Mathieu-Daudé
2024-08-01 10:00   ` Alex Bennée
2024-07-30 17:03 ` [PATCH v3 05/24] tests/functional: Prepare the meson build system for the functional tests Daniel P. Berrangé
2024-08-01 16:12   ` Philippe Mathieu-Daudé
2024-08-13 12:00     ` Thomas Huth
2024-07-30 17:03 ` [PATCH v3 06/24] tests/functional: Convert simple avocado tests into standalone python tests Daniel P. Berrangé
2024-07-31 12:52   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 07/24] tests/functional: Convert avocado tests that just need a small adjustment Daniel P. Berrangé
2024-07-31 12:55   ` Philippe Mathieu-Daudé
2024-08-01 16:13     ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 08/24] tests/functional: add a module for handling asset download & caching Daniel P. Berrangé
2024-08-01 16:20   ` Philippe Mathieu-Daudé
2024-08-01 17:00     ` Daniel P. Berrangé
2024-08-01 17:02     ` Daniel P. Berrangé
2024-08-02 13:24       ` Philippe Mathieu-Daudé
2024-08-01 21:51   ` Richard Henderson
2024-08-02  8:32     ` Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 09/24] tests/functional: enable pre-emptive caching of assets Daniel P. Berrangé
2024-07-31  5:01   ` Richard Henderson
2024-08-01 16:01   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 10/24] tests/functional: Convert some tests that download files via fetch_asset() Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 11/24] tests/functional: Add a function for extracting files from an archive Daniel P. Berrangé
2024-08-01 16:22   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 12/24] tests/functional: Convert some avocado tests that needed avocado.utils.archive Daniel P. Berrangé
2024-08-01 16:27   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 13/24] tests/functional: Convert the s390x avocado tests into standalone tests Daniel P. Berrangé
2024-08-01 17:11   ` Philippe Mathieu-Daudé
2024-08-01 17:38     ` Daniel P. Berrangé
2024-08-02 13:25       ` Philippe Mathieu-Daudé
2024-08-13 12:04         ` Thomas Huth
2024-08-13 12:08           ` Thomas Huth
2024-07-30 17:03 ` [PATCH v3 14/24] tests/functional: Convert the x86_cpu_model_versions test Daniel P. Berrangé
2024-08-01 16:43   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 15/24] tests/functional: Convert the microblaze avocado tests into standalone tests Daniel P. Berrangé
2024-08-02 16:16   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 16/24] tests/functional: Convert the riscv_opensbi avocado test into a standalone test Daniel P. Berrangé
2024-07-31 12:56   ` Philippe Mathieu-Daudé
2024-07-31 23:00     ` Richard Henderson
2024-08-01 10:09       ` Daniel P. Berrangé
2024-08-01 15:11         ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 17/24] tests/functional: Convert the virtio_gpu " Daniel P. Berrangé
2024-08-02 16:35   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 18/24] tests/functional: Convert most ppc avocado tests into standalone tests Daniel P. Berrangé
2024-07-30 17:03 ` [PATCH v3 19/24] tests/functional: Convert the ppc_amiga avocado test into a standalone test Daniel P. Berrangé
2024-08-02 16:19   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 20/24] tests/functional: Convert the ppc_hv " Daniel P. Berrangé
2024-08-05 22:58   ` Nicholas Piggin [this message]
2024-07-30 17:03 ` [PATCH v3 21/24] tests/functional: Convert the m68k nextcube test with tesseract Daniel P. Berrangé
2024-08-01 16:33   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 22/24] tests/functional: Convert the acpi-bits test into a standalone test Daniel P. Berrangé
2024-08-02 16:10   ` Philippe Mathieu-Daudé
2024-08-02 16:12     ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 23/24] tests/functional: Convert the rx_gdbsim avocado " Daniel P. Berrangé
2024-08-01 16:40   ` Philippe Mathieu-Daudé
2024-07-30 17:03 ` [PATCH v3 24/24] gitlab-ci: Add "check-functional" to the build tests Daniel P. Berrangé
2024-08-01 16:40   ` Philippe Mathieu-Daudé
2024-07-30 18:38 ` [PATCH v3 00/24] Convert avocado tests to normal Python unittests Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D38CM1VZ3K2M.25N2MXFIFENIY@gmail.com \
    --to=npiggin@gmail.com \
    --cc=alex.bennee@linaro.org \
    --cc=anisinha@redhat.com \
    --cc=berrange@redhat.com \
    --cc=farosas@suse.de \
    --cc=jsnow@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).