[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 59692a: tests/acceptance: show avocado test e
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 59692a: tests/acceptance: show avocado test execution by d... |
Date: |
Fri, 03 May 2019 08:02:09 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 59692a1238f7f1e0afa85f67ae15a664f786ece0
https://github.com/qemu/qemu/commit/59692a1238f7f1e0afa85f67ae15a664f786ece0
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/Makefile.include
Log Message:
-----------
tests/acceptance: show avocado test execution by default
The current version of the "check-acceptance" target will only show
one line for execution of all tests. That's probably OK if the tests
to be run are quick enough and they're always the same.
But, there's already one test alone that takes on average ~5 seconds
to run, we intend to adapt the list of tests to match the user's build
environment (among other choices).
Because of that, let's present the default Avocado UI by default.
Users can always choose a different output by setting the AVOCADO_SHOW
variable.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 45c01bd926ec072a9ec54b2fdd780917dd7786b5
https://github.com/qemu/qemu/commit/45c01bd926ec072a9ec54b2fdd780917dd7786b5
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/acceptance/avocado_qemu/__init__.py
Log Message:
-----------
tests/acceptance: improve docstring on pick_default_qemu_bin()
Making it clear what is returned by this utility function.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 805fac5272825be4a241d028a4ac02d47355b891
https://github.com/qemu/qemu/commit/805fac5272825be4a241d028a4ac02d47355b891
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M docs/devel/testing.rst
Log Message:
-----------
tests/acceptance: fix doc reference to avocado_qemu directory
The "this directory" reference is misleading and confusing, it's a
leftover from when this text was proposed in a README file inside
the "tests/acceptance/avocado_qemu" directory.
When that text was moved to the top level docs directory, the
reference was not updated.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 2c44d68f2b004e41136996fef0e4122e6507ba90
https://github.com/qemu/qemu/commit/2c44d68f2b004e41136996fef0e4122e6507ba90
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M docs/devel/testing.rst
M tests/acceptance/avocado_qemu/__init__.py
Log Message:
-----------
tests/acceptance: introduce arch parameter and attribute
It's useful to define the architecture that should be used in
situations such as:
* the intended target of the QEMU binary to be used on tests
* the architecture of code to be run within the QEMU binary, such
as a kernel image or a full blown guest OS image
This commit introduces both a test parameter and a test instance
attribute, that will contain such a value.
Now, when the "arch" test parameter is given, it will influence the
selection of the default QEMU binary, if one is not given explicitly
by means of the "qemu_img" parameter.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b194713f94b286fd1f2bccace45cb5b25316e232
https://github.com/qemu/qemu/commit/b194713f94b286fd1f2bccace45cb5b25316e232
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/Makefile.include
M tests/acceptance/boot_linux_console.py
M tests/acceptance/linux_initrd.py
M tests/acceptance/virtio_version.py
Log Message:
-----------
tests/acceptance: use "arch:" tag to filter target specific tests
Currently, some tests contains target architecture information, in the
form of a "x86_64" tag. But that tag is not respected in the default
execution, that is, "make check-acceptance" doesn't do anything with
it.
That said, even the target architecture handling currently present in
the "avocado_qemu.Test" class is pretty limited. For instance, by
default, it chooses a target based on the host architecture.
Because the original implementation of the tags feature in Avocado did
not include any time of namespace or "key:val" mechanism, no tag has
relation to another tag. The new implementation of the tags feature
from version 67.0 onwards, allows "key:val" tags, and because of that,
a test can be classified with a tag in a given key. For instance, the
new proposed version of the "boot_linux_console.py" test, which
downloads and attempts to run a x86_64 kernel, is now tagged as:
:avocado: tags=arch:x86_64
This means that it can be filtered (out) when no x86_64 target is
available. At the same time, tests that don't have a "arch:" tag,
will not be filtered out.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b910545fbf3f55f22545c202c1aee62598edb838
https://github.com/qemu/qemu/commit/b910545fbf3f55f22545c202c1aee62598edb838
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M docs/devel/testing.rst
M tests/acceptance/avocado_qemu/__init__.py
Log Message:
-----------
tests/acceptance: look for target architecture in test tags first
A test can, optionally, be tagged for one or many architectures. If a
test has been tagged for a single architecture, there's a high chance
that the test won't run on other architectures. This changes the
default order of choosing a default target architecture to use based
on the 'arch' tag value first.
The precedence order is for choosing a QEMU binary to use for a test
is now:
* qemu_bin parameter
* arch parameter
* arch tag value (for example, x86_64 if ":avocado: tags=arch:x86_64
is used)
This means that if one runs:
$ avocado run -p qemu_bin=/usr/bin/qemu-system-x86_64 test.py
No arch parameter or tag will influence the selection of the QEMU
target binary. If one runs:
$ avocado run -p arch=ppc64 test.py
The target binary selection mechanism will attempt to find a binary
such as "ppc64-softmmu/qemu-system-ppc64". And finally, if one runs
a test that is tagged (in its docstring) with "arch:aarch64":
$ avocado run aarch64.py
The target binary selection mechanism will attempt to find a binary
such as "aarch64-softmmu/qemu-system-aarch64".
At this time, no provision is made to cancel the execution of tests if
the arch parameter given (manually) does not match the test "arch"
tag, but it may be a useful default behavior to be added in the
future.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 78664ed84949fef4cc0a8be45dd1968e5713e18c
https://github.com/qemu/qemu/commit/78664ed84949fef4cc0a8be45dd1968e5713e18c
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: rename the x86_64 after the arch and machine
Given that the test is specific to x86_64 and pc, and new tests are
going to be added to the same class, let's rename it accordingly.
Also, let's make the class documentation not architecture specific.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 7d7985b1613345541df7c7fc032e470c71cba942
https://github.com/qemu/qemu/commit/7d7985b1613345541df7c7fc032e470c71cba942
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: update the x86_64 kernel
Update to the stock Fedora 29 kernel, from the Fedora 28. New tests
will be added using the 29 kernel, so for consistency, let's also
update it here.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Acked-by: Cornelia Huck <address@hidden>
CC: Daniel P. Berrangé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b50fcd39ba077465852870c17687df17227759a5
https://github.com/qemu/qemu/commit/b50fcd39ba077465852870c17687df17227759a5
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add common kernel command line options
The 'printk.time=0' option makes it easier to parse the console
output. Let's set it as a default, and reusable, kernel command line
options for this and future similar tests.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 61f74506623186f076233dc5d5a8d92f4f8235dd
https://github.com/qemu/qemu/commit/61f74506623186f076233dc5d5a8d92f4f8235dd
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: increase timeout
When running on very low powered environments, some tests may time out
causing false negatives. As a conservative change, and for
considering that human time (investigating false negatives) is worth
more than some extra machine cycles (and time), let's increase the
overall timeout.
CC: Alex Bennée <address@hidden>
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 0d1d74e5e572034abb90c5b187ff3b2edd778960
https://github.com/qemu/qemu/commit/0d1d74e5e572034abb90c5b187ff3b2edd778960
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: refactor the console watcher into utility method
This introduces a utility method that monitors the console device and
looks for either a message that signals the test success or failure.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 123990adbf93043a5ef061be0667a23afe5d8abb
https://github.com/qemu/qemu/commit/123990adbf93043a5ef061be0667a23afe5d8abb
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M python/qemu/__init__.py
Log Message:
-----------
scripts/qemu.py: support adding a console with the default serial device
The set_console() utility function either adds a device based on the
explicitly given device type, or adds a known good type of device
based on the machine type.
But, for a number of machine types, it may be impossible or
inconvenient to add the devices by means of "-device" command line
options, and then it may better to just use the "-serial" option and
let QEMU itself, based on the machine type, set the device
accordingly.
To achieve that, the behavior of set_console() now flags the intention
to add a console device on launch(), and if no explicit device type is
given the "-serial" option is going to be added to the QEMU command
line, instead of raising exceptions.
Based on testing with different machine types, the CONSOLE_DEV_TYPES
is not necessary anymore, so it's being removed, as is the logic to
use it.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: f87920474d29e48c7548e6e826c3d50a259f2599
https://github.com/qemu/qemu/commit/f87920474d29e48c7548e6e826c3d50a259f2599
Author: Philippe Mathieu-Daudé <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add a test for mips + malta
Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta
board and verify the serial is working. Also, it relies on the serial
device set by the machine itself.
If mips is a target being built, "make check-acceptance" will
automatically include this test by the use of the "arch:mips" tags.
Alternatively, this test can be run using:
$ avocado run -t arch:mips tests/acceptance
$ avocado run -t machine:malta tests/acceptance
$ avocado run -t endian:big tests/acceptance
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 02c2852bcd8fadea3d81c380bdaeaee1ae91247f
https://github.com/qemu/qemu/commit/02c2852bcd8fadea3d81c380bdaeaee1ae91247f
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add a test for mips64el + malta
Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta
board and verify the serial is working.
If mips64el is a target being built, "make check-acceptance" will
automatically include this test by the use of the "arch:mips64el"
tags.
Alternatively, this test can be run using:
$ avocado run -t arch:mips64el tests/acceptance
$ avocado run -t machine:malta tests/acceptance
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: d4e12161677bbad86079d15236f1d449cc860978
https://github.com/qemu/qemu/commit/d4e12161677bbad86079d15236f1d449cc860978
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add a test for aarch64 + virt
Just like the previous tests, boots a Linux kernel on a aarch64 target
using the virt machine.
One special option added is the CPU type, given that the kernel
selected fails to boot on the virt machine's default CPU (cortex-a15).
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 1a30892ed5f253f6bf7adbe56ef5931bd69cd4b6
https://github.com/qemu/qemu/commit/1a30892ed5f253f6bf7adbe56ef5931bd69cd4b6
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add a test for arm + virt
Just like the previous tests, boots a Linux kernel on an arm target
using the virt machine.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 7918249416dddc5ab2d4bcb1e6c2742f3be0edac
https://github.com/qemu/qemu/commit/7918249416dddc5ab2d4bcb1e6c2742f3be0edac
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add a test for s390x + s390-ccw-virtio
Just like the previous tests, boots a Linux kernel on a s390x target
using the s390-ccw-virtio machine.
Because it's not possible to have multiple VT220 consoles,
'-nodefaults' is used, so that the one set with set_console() works
correctly.
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Message-Id: <address@hidden>
[ehabkost: Updated kernel URL to point to fedoraproject.org]
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b36b59371fbb39ae39645b16db85f9a49573309d
https://github.com/qemu/qemu/commit/b36b59371fbb39ae39645b16db85f9a49573309d
Author: Cleber Rosa <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M .travis.yml
M tests/acceptance/boot_linux_console.py
Log Message:
-----------
tests/boot_linux_console: add a test for alpha + clipper
Similar to the x86_64 + pc test, it boots a Linux kernel on a Malta
board and verify the serial is working. One extra command added to
the QEMU command line is '-vga std', because the kernel used is
known to crash without it.
If alpha is a target being built, "make check-acceptance" will
automatically include this test by the use of the "arch:alpha" tags.
Alternatively, this test can be run using:
$ avocado run -t arch:alpha tests/acceptance
$ avocado run -t machine:clipper tests/acceptance
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Cleber Rosa <address@hidden>
Reviewed-by: Caio Carrara <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: faf441429adfe5767be52c5dcdb8bc03161d064f
https://github.com/qemu/qemu/commit/faf441429adfe5767be52c5dcdb8bc03161d064f
Author: Daniel P. Berrangé <address@hidden>
Date: 2019-05-02 (Thu, 02 May 2019)
Changed paths:
M configure
Log Message:
-----------
configure: automatically pick python3 is available
Unless overridden via an env var or configure arg, QEMU will only look
for the 'python' binary in $PATH. This is unhelpful on distros which
are only shipping Python 3.x (eg Fedora) in their default install as,
if they comply with PEP 394, the bare 'python' binary won't exist.
This changes configure so that by default it will search for all three
common python binaries, preferring to find Python 3.x versions.
Signed-off-by: Daniel P. Berrangé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: a6ae23831b05a11880b40f7d58e332c45a6b04f7
https://github.com/qemu/qemu/commit/a6ae23831b05a11880b40f7d58e332c45a6b04f7
Author: Peter Maydell <address@hidden>
Date: 2019-05-03 (Fri, 03 May 2019)
Changed paths:
M .travis.yml
M configure
M docs/devel/testing.rst
M python/qemu/__init__.py
M tests/Makefile.include
M tests/acceptance/avocado_qemu/__init__.py
M tests/acceptance/boot_linux_console.py
M tests/acceptance/linux_initrd.py
M tests/acceptance/virtio_version.py
Log Message:
-----------
Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request'
into staging
Python queue, 2019-05-02
* configure: automatically pick python3 is available
(Daniel P. Berrangé)
* tests/acceptance (Cleber Rosa, Philippe Mathieu-Daudé):
* Multi-architecture test support
* Multiple arch-specific boot_linux_console test cases
* Increase verbosity of avocado by default
* docstring improvements
# gpg: Signature made Fri 03 May 2019 01:40:06 BST
# gpg: using RSA key 2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <address@hidden>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6
* remotes/ehabkost/tags/python-next-pull-request:
configure: automatically pick python3 is available
tests/boot_linux_console: add a test for alpha + clipper
tests/boot_linux_console: add a test for s390x + s390-ccw-virtio
tests/boot_linux_console: add a test for arm + virt
tests/boot_linux_console: add a test for aarch64 + virt
tests/boot_linux_console: add a test for mips64el + malta
tests/boot_linux_console: add a test for mips + malta
scripts/qemu.py: support adding a console with the default serial device
tests/boot_linux_console: refactor the console watcher into utility method
tests/boot_linux_console: increase timeout
tests/boot_linux_console: add common kernel command line options
tests/boot_linux_console: update the x86_64 kernel
tests/boot_linux_console: rename the x86_64 after the arch and machine
tests/acceptance: look for target architecture in test tags first
tests/acceptance: use "arch:" tag to filter target specific tests
tests/acceptance: introduce arch parameter and attribute
tests/acceptance: fix doc reference to avocado_qemu directory
tests/acceptance: improve docstring on pick_default_qemu_bin()
tests/acceptance: show avocado test execution by default
Signed-off-by: Peter Maydell <address@hidden>
# Conflicts:
# configure
Compare: https://github.com/qemu/qemu/compare/5b396a8c36f4...a6ae23831b05
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 59692a: tests/acceptance: show avocado test execution by d...,
Peter Maydell <=