qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [Qemu-ppc] [PATCH 1/2] tests.acceptance.avocado_qemu: A


From: Satheesh Rajendran
Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH 1/2] tests.acceptance.avocado_qemu: Add support for powerpc
Date: Mon, 29 Jul 2019 11:22:45 +0530
User-agent: Mutt/1.12.0 (2019-05-25)

On Fri, Jul 26, 2019 at 01:49:00PM +0200, Greg Kurz wrote:
> On Fri, 26 Jul 2019 12:48:09 +0530
> address@hidden wrote:
> 
> > From: Satheesh Rajendran <address@hidden>
> > 
> > Current acceptance test will not run in powerpc Little endian
> > environment due the arch name does not match the qemu binary path,
> > let's handle it.
> > 
> 
> They do not match because "arch" as returned by uname() is
> something different from the "target" in QEMU. This usually
> matches, except with bi-endian architectures like ppc64.
> Uname "arch" may be ppc64 or ppc64le but "target" is always
> ppc64.

Yes, instead I would reword the commit message to sound like that.
Thanks!

> 
> > Signed-off-by: Satheesh Rajendran <address@hidden>
> > ---
> >  tests/acceptance/avocado_qemu/__init__.py | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/tests/acceptance/avocado_qemu/__init__.py 
> > b/tests/acceptance/avocado_qemu/__init__.py
> > index aee5d820ed..a05f0bb530 100644
> > --- a/tests/acceptance/avocado_qemu/__init__.py
> > +++ b/tests/acceptance/avocado_qemu/__init__.py
> > @@ -19,6 +19,7 @@ sys.path.append(os.path.join(SRC_ROOT_DIR, 'python'))
> >  
> >  from qemu.machine import QEMUMachine
> >  
> > +
> 
> empty line damage
> 
Sure, I did as pylint complained about, probably can be sent
as seperate commit.
> >  def is_readable_executable_file(path):
> >      return os.path.isfile(path) and os.access(path, os.R_OK | os.X_OK)
> >  
> > @@ -39,6 +40,9 @@ def pick_default_qemu_bin(arch=None):
> >      """
> >      if arch is None:
> >          arch = os.uname()[4]
> > +    # qemu binary path does not match arch for powerpc, handle it
> > +    if 'ppc64le' in arch:
> > +        arch = 'ppc64'
> 
> We also have other bi-endian targets (arm and aarch64). I'm not
> sure teaching pick_default_qemu_bin() about all of them is the
> way to go.
> 
It is good for the tests where have explicit arch mentioned
but it will not work for platform generic tests like below one
for example,

avocado run version.py 
JOB ID     : ef3d99cf0232d38e5eb34c1552a8ab44ac77c45c
JOB LOG    : /home/sath/tests/results/job-2019-07-29T01.45-ef3d99c/job.log
 (1/1) version.py:Version.test_qmp_human_info_version: CANCEL: No QEMU binary 
defined or found in the source tree (0.00 s)
RESULTS    : PASS 0 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 
1
JOB TIME   : 0.35 s

and more over we can preserve arch:ppc64 to run Big Endian guest
image.

> What about passing the right target in the first place ?
>

> ie, this in patch 2:
> 
> +    def test_ppc64le_pseries(self):
> +        """
> +        :avocado: tags=arch:ppc64
> 
> >      qemu_bin_relative_path = os.path.join("%s-softmmu" % arch,
> >                                            "qemu-system-%s" % arch)

> >      if is_readable_executable_file(qemu_bin_relative_path):
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]