All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cleber Rosa <crosa@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: qemu-devel@nongnu.org,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Willian Rampazzo" <willianr@redhat.com>,
	qemu-arm@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH] tests/acceptance: Add a 'virt_kvm' test using the GICv3
Date: Wed, 26 May 2021 14:04:59 -0400	[thread overview]
Message-ID: <20210526180459.GA1725208@amachine.somewhere> (raw)
In-Reply-To: <a2a463cb-e2a1-1884-cc97-8c5b4689341b@redhat.com>

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

On Tue, Apr 13, 2021 at 06:25:47PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Alex,
> 
> On 4/12/21 7:55 PM, Philippe Mathieu-Daudé wrote:
> > On 4/6/21 7:12 PM, Alex Bennée wrote:
> >>
> >> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> >>
> >>> On 3/31/21 5:45 PM, Alex Bennée wrote:
> >>>>
> >>>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> >>>>
> >>>>> The current 'virt_kvm' test is restricted to GICv2, but can also
> >>>>> work with a GICv3. Duplicate it but add a GICv3 test which can be
> >>>>> tested on some hardware.
> >>>>>
> >>>>> Noticed while running:
> >>>>>
> >>>>>  $ avocado --show=app run -t machine:virt tests/acceptance/
> >>>>>  ...
> >>>>>  (2/6) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm: ERROR: Unexpected empty reply from server (1.82 s)
> >>>>>
> >>>>> The job.log content is:
> >>>>>
> >>>>>   L0351 DEBUG| Output: 'qemu-system-aarch64: host does not support in-kernel GICv2 emulation\n'
> >>>>>
> >>>>> With this patch:
> >>>>>
> >>>>>  $ avocado --show=app run -t device:gicv3 tests/acceptance/
> >>>>>  (1/1)
> >>>>>  tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv3:
> >>>>>  PASS (55.10 s)
> >>>>
> >>>> On the new aarch64 machine which is GICv3 I get the following:
> >>>>
> >>>>  (006/142) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv2: ERROR: Unexpected empty reply from server (0.47 s)
> >>>>
> >>>> which it shouldn't have run. However:
> >>>>
> >>>>   ./tests/venv/bin/avocado --show=app run -t device:gic3 tests/acceptance/
> >>>>   Test Suite could not be create. No test references provided nor any other arguments resolved into tests
> >>>>
> >>>> Is this something that has regressed or am I doing it wrong?
> >>>
> >>> Typo in the tag: "device:gic3" -> "device:gicv3"
> >>
> >> Doh!
> >>
> >> But what about:
> >>
> >> /tests/venv/bin/avocado run tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv2
> >> JOB ID     : 396696d8f9d31d970878cb46025b2ced76f3623f
> >> JOB LOG    : /home/alex/avocado/job-results/job-2021-04-06T17.11-396696d/job.log
> >>  (1/1) tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv2: ERROR: Unexpected empty reply from server (0.65 s)
> >> RESULTS    : PASS 0 | ERROR 1 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
> >> JOB TIME   : 0.96 s
> >>
> >> why doesn't that skip?
> > 
> > /home/phil/avocado/job-results/job-2021-04-12T17.51-efdca81/job.log
> > 2021-04-12 17:52:44,589 machine          L0389 DEBUG| Output:
> > "qemu-system-aarch64: Could not find ROM image
> > '/home/phil/qemu/build/host/pc-bios/edk2-aarch64-code.fd'\n"
> > 
> > Missing prerequisite:
> > 
> > $ ninja pc-bios/edk2-aarch64-code.fd
> > [1/1] Generating edk2-aarch64-code.fd with a custom command (wrapped by
> > meson to capture output)
> > 
> > Then we are good:
> > 
> > $ avocado --show=app,console run -t device:gicv3 tests/acceptance
> > JOB ID     : e84401e5cc3ae53a3094c79491e661385cc7b4a7
> > JOB LOG    :
> > /home/phil/avocado/job-results/job-2021-04-12T17.53-e84401e/job.log
> >  (1/1)
> > tests/acceptance/boot_linux.py:BootLinuxAarch64.test_virt_kvm_gicv3:
> > PASS (16.38 s)
> > RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 |
> > CANCEL 0
> > JOB TIME   : 16.70 s
> > 
> > Probably some missing dependency in Makefile/Meson?
> 
> Are you using multiple build directories?
> 
> I could reproduce doing:
> 
> $ mkdir A B
> $ cd A
> $ make check-qtest-aarch64
> $ avocado --show=app,console run -t device:gicv3 tests/acceptance
> $ cd ../B
> $ ninja qemu-system-aarch64
> $ avocado --show=app,console run -t device:gicv3 tests/acceptance
> 
> In A edk2-aarch64-code.fd has been expanded in A/pc-bios/,
> in B it isn't.
> 
> check-acceptance is a Makefile rule, not a ninja one...
> I suppose we need to convert it to ninja to be able to use the
> rest of the dependencies checks.
> 
> Cc'ing Paolo because I'm not sure what the best move and where
> to plug things.
> 
> 

While a proper build system conversion fix doesn't happen, what about:

diff --git a/tests/acceptance/boot_linux.py b/tests/acceptance/boot_linux.py
index 314370fd1f..5d42d98dc7 100644
--- a/tests/acceptance/boot_linux.py
+++ b/tests/acceptance/boot_linux.py
@@ -69,9 +69,10 @@ class BootLinuxAarch64(LinuxTest):
     chksum = '1e18d9c0cf734940c4b5d5ec592facaed2af0ad0329383d5639c997fdf16fe49'
 
     def add_common_args(self):
-        self.vm.add_args('-bios',
-                         os.path.join(BUILD_DIR, 'pc-bios',
-                                      'edk2-aarch64-code.fd'))
+        bios_path = os.path.join(BUILD_DIR, 'pc-bios', 'edk2-aarch64-code.fd')
+        if not os.path.exists(bios_path):
+            self.cancel('Missing bios file "%s"', bios_path)
+        self.vm.add_args('-bios', bios_path)
         self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0')
         self.vm.add_args('-object', 'rng-random,id=rng0,filename=/dev/urandom')

I can send a patch if this looks reasonable.

- Cleber.

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

      parent reply	other threads:[~2021-05-26 18:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-29 22:48 [PATCH] tests/acceptance: Add a 'virt_kvm' test using the GICv3 Philippe Mathieu-Daudé
2020-09-30 13:24 ` Willian Rampazzo
2020-10-05  8:08 ` Philippe Mathieu-Daudé
2021-03-31 15:45 ` Alex Bennée
2021-04-06 15:22   ` Philippe Mathieu-Daudé
2021-04-06 17:12     ` Alex Bennée
2021-04-12 17:55       ` Philippe Mathieu-Daudé
2021-04-13 16:25         ` Philippe Mathieu-Daudé
2021-04-13 16:32           ` Alex Bennée
2021-05-26 18:04           ` Cleber Rosa [this message]

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=20210526180459.GA1725208@amachine.somewhere \
    --to=crosa@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=wainersm@redhat.com \
    --cc=willianr@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.