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()
next prev parent 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).