[PULL 00/29] Machine types, s390x, functional tests and Avocado removal

Thomas Huth posted 29 patches 9 months, 2 weeks ago
Failed in applying to current master (apply log)
MAINTAINERS                                        |  28 +-
docs/about/build-platforms.rst                     |  10 +-
docs/devel/build-system.rst                        |  11 +-
docs/devel/codebase.rst                            |   5 -
docs/devel/testing/avocado.rst                     | 581 ---------------------
docs/devel/testing/ci-definitions.rst.inc          | 121 -----
docs/devel/testing/ci-jobs.rst.inc                 |  19 +-
docs/devel/testing/ci.rst                          |  28 +-
docs/devel/testing/functional.rst                  |   3 -
docs/devel/testing/index.rst                       |   1 -
docs/devel/testing/main.rst                        |  80 ++-
tests/avocado/README.rst                           |  10 -
configure                                          |   2 +-
qapi/machine.json                                  |  18 +
qapi/misc-target.json                              |  19 -
include/hw/boards.h                                |   3 +
include/hw/i386/pc.h                               |   3 +
include/hw/s390x/css.h                             |   6 -
include/hw/s390x/s390_flic.h                       |   1 -
include/hw/s390x/storage-attributes.h              |   1 -
include/hw/s390x/storage-keys.h                    |  16 +
hw/arm/virt.c                                      |   9 +-
hw/core/machine-qmp-cmds.c                         |  14 +
hw/core/machine.c                                  |   3 +
hw/i386/pc.c                                       |   3 +
hw/i386/pc_piix.c                                  |  13 +-
hw/i386/pc_q35.c                                   |  13 +-
hw/intc/s390_flic.c                                |  14 -
hw/m68k/virt.c                                     |   9 +-
hw/ppc/spapr.c                                     |  15 +-
hw/s390x/css.c                                     |  31 +-
hw/s390x/s390-skeys.c                              |  47 +-
hw/s390x/s390-stattrib-kvm.c                       |   2 +-
hw/s390x/s390-stattrib.c                           |   7 +-
hw/s390x/s390-virtio-ccw.c                         |  41 +-
.gitlab-ci.d/base.yml                              |   8 +-
.gitlab-ci.d/buildtest-template.yml                |  13 +-
.gitlab-ci.d/buildtest.yml                         |  33 +-
pythondeps.toml                                    |   8 +-
tests/Makefile.include                             |  60 +--
tests/avocado/avocado_qemu/__init__.py             | 424 ---------------
tests/avocado/avocado_qemu/linuxtest.py            | 253 ---------
tests/avocado/boot_linux.py                        | 132 -----
tests/avocado/boot_linux_console.py                |  96 ----
tests/avocado/linux_ssh_mips_malta.py              | 205 --------
tests/avocado/replay_kernel.py                     | 110 ----
tests/avocado/replay_linux.py                      | 206 --------
tests/avocado/smmu.py                              | 139 -----
tests/functional/aspeed.py                         |   2 +-
tests/functional/meson.build                       |  13 +-
tests/functional/qemu_test/ports.py                |   3 +-
tests/functional/qemu_test/tuxruntest.py           |  11 +-
tests/functional/qemu_test/uncompress.py           |   2 +-
tests/{avocado => functional}/reverse_debugging.py | 114 +---
tests/functional/test_aarch64_aspeed.py            |   2 +-
tests/functional/test_aarch64_replay.py            |  37 +-
tests/functional/test_aarch64_reverse_debug.py     |  38 ++
tests/functional/test_aarch64_rme_sbsaref.py       |   6 +-
tests/functional/test_aarch64_rme_virt.py          |   2 -
tests/functional/test_aarch64_sbsaref_alpine.py    |   3 -
tests/functional/test_aarch64_sbsaref_freebsd.py   |   2 -
tests/functional/test_aarch64_smmu.py              | 205 ++++++++
tests/functional/test_aarch64_tcg_plugins.py       |   1 -
tests/functional/test_aarch64_virt.py              |   8 +-
tests/functional/test_arm_aspeed_ast2500.py        |   9 +-
tests/functional/test_arm_aspeed_ast2600.py        |  36 +-
tests/functional/test_arm_aspeed_bletchley.py      |   4 +-
tests/functional/test_arm_aspeed_palmetto.py       |   4 +-
tests/functional/test_arm_aspeed_romulus.py        |   4 +-
tests/functional/test_arm_aspeed_witherspoon.py    |   4 +-
tests/functional/test_arm_bpim2u.py                |   2 +-
tests/functional/test_arm_cubieboard.py            |   4 +-
tests/functional/test_arm_orangepi.py              |   2 +-
tests/functional/test_arm_quanta_gsj.py            |   2 -
tests/functional/test_arm_smdkc210.py              |   2 -
tests/functional/test_i386_replay.py               |  28 +
tests/functional/test_migration.py                 |   3 +-
tests/functional/test_mips64_malta.py              |  35 ++
tests/functional/test_mips64el_malta.py            |  22 +
tests/functional/test_mips64el_replay.py           |   6 +-
tests/functional/test_mips_malta.py                | 108 +++-
tests/functional/test_mips_replay.py               |   2 +-
tests/functional/test_mipsel_malta.py              |  22 +
tests/functional/test_mipsel_replay.py             |   2 +-
tests/functional/test_ppc64_hv.py                  |   8 +-
tests/functional/test_ppc64_reverse_debug.py       |  41 ++
tests/functional/test_s390x_topology.py            |  12 +-
tests/functional/test_vnc.py                       |   6 +-
tests/functional/test_x86_64_kvm_xen.py            |   2 -
tests/functional/test_x86_64_replay.py             |  43 +-
tests/functional/test_x86_64_reverse_debug.py      |  36 ++
91 files changed, 978 insertions(+), 2794 deletions(-)
delete mode 100644 docs/devel/testing/avocado.rst
delete mode 100644 docs/devel/testing/ci-definitions.rst.inc
delete mode 100644 tests/avocado/README.rst
delete mode 100644 tests/avocado/avocado_qemu/__init__.py
delete mode 100644 tests/avocado/avocado_qemu/linuxtest.py
delete mode 100644 tests/avocado/boot_linux.py
delete mode 100644 tests/avocado/boot_linux_console.py
delete mode 100644 tests/avocado/linux_ssh_mips_malta.py
delete mode 100644 tests/avocado/replay_kernel.py
delete mode 100644 tests/avocado/replay_linux.py
delete mode 100644 tests/avocado/smmu.py
rename tests/{avocado => functional}/reverse_debugging.py (66%)
create mode 100755 tests/functional/test_aarch64_reverse_debug.py
create mode 100755 tests/functional/test_aarch64_smmu.py
create mode 100755 tests/functional/test_i386_replay.py
create mode 100755 tests/functional/test_mips64_malta.py
create mode 100755 tests/functional/test_ppc64_reverse_debug.py
create mode 100755 tests/functional/test_x86_64_reverse_debug.py
[PULL 00/29] Machine types, s390x, functional tests and Avocado removal
Posted by Thomas Huth 9 months, 2 weeks ago
 Hi!

The following changes since commit 1da8f3a3c53b604edfe0d55e475102640490549e:

  Open 10.1 development tree (2025-04-22 15:09:23 -0400)

are available in the Git repository at:

  https://gitlab.com/thuth/qemu.git tags/pull-request-2025-04-23

for you to fetch changes up to 12c6b6153063aafcdbadca8fee7eac793ef85e4b:

  MAINTAINERS: Add functional tests that are not covered yet (2025-04-23 07:51:25 +0200)

----------------------------------------------------------------
* Remove the obsolete s390-ccw-virtio-2.9 machine type
* Prepare the dump-skeys QMP command for the universal binary project
* Add compat machine types for 10.1
* Convert the remaining Avocado tests to the functional framework
* Some more small fixes for the functional tests

----------------------------------------------------------------
Cornelia Huck (2):
      hw: add compat machines for 10.1
      tests/functional/test_vnc: skip test if no crypto backend available

Philippe Mathieu-Daudé (4):
      hw/s390x/skeys: Declare QOM types using DEFINE_TYPES() macro
      hw/s390x/skeys: Introduce TYPE_DUMP_SKEYS_INTERFACE
      hw/s390x/ccw: Have CCW machine implement a qmp_dump_skeys() callback
      qapi/machine: Make @dump-skeys command generic

Thomas Huth (23):
      hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type
      hw/s390x/css: Remove the obsolete "css_migration_enabled" variable
      hw/s390x/s390-stattrib: Remove the old migration_enabled flag
      hw/intc/s390_flic: Remove the obsolete migration_enabled flag
      gitlab-ci: Remove the avocado tests from the CI pipelines
      tests/functional: Move the check for the parameters from avocado to functional
      tests/functional: Convert reverse_debugging tests to the functional framework
      tests/functional: Convert the i386 replay avocado test
      tests/avocado: Remove the LinuxKernelTest class
      tests/functional: Convert the 32-bit big endian Wheezy mips test
      tests/functional: Convert the 32-bit little endian Wheezy mips test
      tests/functional: Convert the 64-bit little endian Wheezy mips test
      tests/functional: Convert the 64-bit big endian Wheezy mips test
      tests/avocado: Remove the boot_linux.py tests
      tests/functional: Use the tuxrun kernel for the x86 replay test
      tests/functional: Use the tuxrun kernel for the aarch64 replay test
      tests/functional: Convert the SMMU test to the functional framework
      gitlab-ci: Update QEMU_JOB_AVOCADO and QEMU_CI_AVOCADO_TESTING
      docs/devel/testing: Dissolve the ci-definitions.rst.inc file
      Remove the remainders of the Avocado tests
      tests/functional: Remove semicolons at the end of lines
      tests/functional: Remove unnecessary import statements
      MAINTAINERS: Add functional tests that are not covered yet

 MAINTAINERS                                        |  28 +-
 docs/about/build-platforms.rst                     |  10 +-
 docs/devel/build-system.rst                        |  11 +-
 docs/devel/codebase.rst                            |   5 -
 docs/devel/testing/avocado.rst                     | 581 ---------------------
 docs/devel/testing/ci-definitions.rst.inc          | 121 -----
 docs/devel/testing/ci-jobs.rst.inc                 |  19 +-
 docs/devel/testing/ci.rst                          |  28 +-
 docs/devel/testing/functional.rst                  |   3 -
 docs/devel/testing/index.rst                       |   1 -
 docs/devel/testing/main.rst                        |  80 ++-
 tests/avocado/README.rst                           |  10 -
 configure                                          |   2 +-
 qapi/machine.json                                  |  18 +
 qapi/misc-target.json                              |  19 -
 include/hw/boards.h                                |   3 +
 include/hw/i386/pc.h                               |   3 +
 include/hw/s390x/css.h                             |   6 -
 include/hw/s390x/s390_flic.h                       |   1 -
 include/hw/s390x/storage-attributes.h              |   1 -
 include/hw/s390x/storage-keys.h                    |  16 +
 hw/arm/virt.c                                      |   9 +-
 hw/core/machine-qmp-cmds.c                         |  14 +
 hw/core/machine.c                                  |   3 +
 hw/i386/pc.c                                       |   3 +
 hw/i386/pc_piix.c                                  |  13 +-
 hw/i386/pc_q35.c                                   |  13 +-
 hw/intc/s390_flic.c                                |  14 -
 hw/m68k/virt.c                                     |   9 +-
 hw/ppc/spapr.c                                     |  15 +-
 hw/s390x/css.c                                     |  31 +-
 hw/s390x/s390-skeys.c                              |  47 +-
 hw/s390x/s390-stattrib-kvm.c                       |   2 +-
 hw/s390x/s390-stattrib.c                           |   7 +-
 hw/s390x/s390-virtio-ccw.c                         |  41 +-
 .gitlab-ci.d/base.yml                              |   8 +-
 .gitlab-ci.d/buildtest-template.yml                |  13 +-
 .gitlab-ci.d/buildtest.yml                         |  33 +-
 pythondeps.toml                                    |   8 +-
 tests/Makefile.include                             |  60 +--
 tests/avocado/avocado_qemu/__init__.py             | 424 ---------------
 tests/avocado/avocado_qemu/linuxtest.py            | 253 ---------
 tests/avocado/boot_linux.py                        | 132 -----
 tests/avocado/boot_linux_console.py                |  96 ----
 tests/avocado/linux_ssh_mips_malta.py              | 205 --------
 tests/avocado/replay_kernel.py                     | 110 ----
 tests/avocado/replay_linux.py                      | 206 --------
 tests/avocado/smmu.py                              | 139 -----
 tests/functional/aspeed.py                         |   2 +-
 tests/functional/meson.build                       |  13 +-
 tests/functional/qemu_test/ports.py                |   3 +-
 tests/functional/qemu_test/tuxruntest.py           |  11 +-
 tests/functional/qemu_test/uncompress.py           |   2 +-
 tests/{avocado => functional}/reverse_debugging.py | 114 +---
 tests/functional/test_aarch64_aspeed.py            |   2 +-
 tests/functional/test_aarch64_replay.py            |  37 +-
 tests/functional/test_aarch64_reverse_debug.py     |  38 ++
 tests/functional/test_aarch64_rme_sbsaref.py       |   6 +-
 tests/functional/test_aarch64_rme_virt.py          |   2 -
 tests/functional/test_aarch64_sbsaref_alpine.py    |   3 -
 tests/functional/test_aarch64_sbsaref_freebsd.py   |   2 -
 tests/functional/test_aarch64_smmu.py              | 205 ++++++++
 tests/functional/test_aarch64_tcg_plugins.py       |   1 -
 tests/functional/test_aarch64_virt.py              |   8 +-
 tests/functional/test_arm_aspeed_ast2500.py        |   9 +-
 tests/functional/test_arm_aspeed_ast2600.py        |  36 +-
 tests/functional/test_arm_aspeed_bletchley.py      |   4 +-
 tests/functional/test_arm_aspeed_palmetto.py       |   4 +-
 tests/functional/test_arm_aspeed_romulus.py        |   4 +-
 tests/functional/test_arm_aspeed_witherspoon.py    |   4 +-
 tests/functional/test_arm_bpim2u.py                |   2 +-
 tests/functional/test_arm_cubieboard.py            |   4 +-
 tests/functional/test_arm_orangepi.py              |   2 +-
 tests/functional/test_arm_quanta_gsj.py            |   2 -
 tests/functional/test_arm_smdkc210.py              |   2 -
 tests/functional/test_i386_replay.py               |  28 +
 tests/functional/test_migration.py                 |   3 +-
 tests/functional/test_mips64_malta.py              |  35 ++
 tests/functional/test_mips64el_malta.py            |  22 +
 tests/functional/test_mips64el_replay.py           |   6 +-
 tests/functional/test_mips_malta.py                | 108 +++-
 tests/functional/test_mips_replay.py               |   2 +-
 tests/functional/test_mipsel_malta.py              |  22 +
 tests/functional/test_mipsel_replay.py             |   2 +-
 tests/functional/test_ppc64_hv.py                  |   8 +-
 tests/functional/test_ppc64_reverse_debug.py       |  41 ++
 tests/functional/test_s390x_topology.py            |  12 +-
 tests/functional/test_vnc.py                       |   6 +-
 tests/functional/test_x86_64_kvm_xen.py            |   2 -
 tests/functional/test_x86_64_replay.py             |  43 +-
 tests/functional/test_x86_64_reverse_debug.py      |  36 ++
 91 files changed, 978 insertions(+), 2794 deletions(-)
 delete mode 100644 docs/devel/testing/avocado.rst
 delete mode 100644 docs/devel/testing/ci-definitions.rst.inc
 delete mode 100644 tests/avocado/README.rst
 delete mode 100644 tests/avocado/avocado_qemu/__init__.py
 delete mode 100644 tests/avocado/avocado_qemu/linuxtest.py
 delete mode 100644 tests/avocado/boot_linux.py
 delete mode 100644 tests/avocado/boot_linux_console.py
 delete mode 100644 tests/avocado/linux_ssh_mips_malta.py
 delete mode 100644 tests/avocado/replay_kernel.py
 delete mode 100644 tests/avocado/replay_linux.py
 delete mode 100644 tests/avocado/smmu.py
 rename tests/{avocado => functional}/reverse_debugging.py (66%)
 create mode 100755 tests/functional/test_aarch64_reverse_debug.py
 create mode 100755 tests/functional/test_aarch64_smmu.py
 create mode 100755 tests/functional/test_i386_replay.py
 create mode 100755 tests/functional/test_mips64_malta.py
 create mode 100755 tests/functional/test_ppc64_reverse_debug.py
 create mode 100755 tests/functional/test_x86_64_reverse_debug.py


Re: [PULL 00/29] Machine types, s390x, functional tests and Avocado removal
Posted by Stefan Hajnoczi 9 months, 2 weeks ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes.
Re: [PULL 00/29] Machine types, s390x, functional tests and Avocado removal
Posted by Michael Tokarev 2 months, 2 weeks ago
On 4/23/25 10:35, Thomas Huth wrote:
>   Hi!
> 
> The following changes since commit 1da8f3a3c53b604edfe0d55e475102640490549e:
> 
>    Open 10.1 development tree (2025-04-22 15:09:23 -0400)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/thuth/qemu.git tags/pull-request-2025-04-23
> 
> for you to fetch changes up to 12c6b6153063aafcdbadca8fee7eac793ef85e4b:
> 
>    MAINTAINERS: Add functional tests that are not covered yet (2025-04-23 07:51:25 +0200)
> 
> ----------------------------------------------------------------
> * Remove the obsolete s390-ccw-virtio-2.9 machine type
> * Prepare the dump-skeys QMP command for the universal binary project
> * Add compat machine types for 10.1
> * Convert the remaining Avocado tests to the functional framework
> * Some more small fixes for the functional tests
> 
> ----------------------------------------------------------------
> Cornelia Huck (2):
>        hw: add compat machines for 10.1
>        tests/functional/test_vnc: skip test if no crypto backend available
> 
> Philippe Mathieu-Daudé (4):
>        hw/s390x/skeys: Declare QOM types using DEFINE_TYPES() macro
>        hw/s390x/skeys: Introduce TYPE_DUMP_SKEYS_INTERFACE
>        hw/s390x/ccw: Have CCW machine implement a qmp_dump_skeys() callback
>        qapi/machine: Make @dump-skeys command generic
> 
> Thomas Huth (23):
>        hw/s390x/s390-virtio-ccw: Remove the deprecated 2.9 machine type
>        hw/s390x/css: Remove the obsolete "css_migration_enabled" variable
>        hw/s390x/s390-stattrib: Remove the old migration_enabled flag
>        hw/intc/s390_flic: Remove the obsolete migration_enabled flag
>        gitlab-ci: Remove the avocado tests from the CI pipelines
>        tests/functional: Move the check for the parameters from avocado to functional
>        tests/functional: Convert reverse_debugging tests to the functional framework
>        tests/functional: Convert the i386 replay avocado test
>        tests/avocado: Remove the LinuxKernelTest class
>        tests/functional: Convert the 32-bit big endian Wheezy mips test
>        tests/functional: Convert the 32-bit little endian Wheezy mips test
>        tests/functional: Convert the 64-bit little endian Wheezy mips test
>        tests/functional: Convert the 64-bit big endian Wheezy mips test
>        tests/avocado: Remove the boot_linux.py tests
>        tests/functional: Use the tuxrun kernel for the x86 replay test
>        tests/functional: Use the tuxrun kernel for the aarch64 replay test
>        tests/functional: Convert the SMMU test to the functional framework
>        gitlab-ci: Update QEMU_JOB_AVOCADO and QEMU_CI_AVOCADO_TESTING
>        docs/devel/testing: Dissolve the ci-definitions.rst.inc file
>        Remove the remainders of the Avocado tests
>        tests/functional: Remove semicolons at the end of lines
>        tests/functional: Remove unnecessary import statements
>        MAINTAINERS: Add functional tests that are not covered yet

Hi!

I'm picking the bulk of this patchset from Apr-2025 to 10.0.x stable
series of qemu, so that testing framework for 10.0.x will be the same
as current/future versions of qemu.

In particular, I'm picking up the following patches, all of which
applies cleanly to 10.0.x:

4e3823c68c tests/functional/test_vnc: skip test if no crypto backend 
available
22baa5f340 gitlab-ci: Remove the avocado tests from the CI pipelines
bc65ae6961 tests/functional: Move the check for the parameters from 
avocado to functional
951ededf12 tests/functional: Convert reverse_debugging tests to the 
functional framework
0e756f404d tests/functional: Convert the i386 replay avocado test
574f71bc1f tests/avocado: Remove the LinuxKernelTest class
42a87f0ce7 tests/functional: Convert the 32-bit big endian Wheezy mips test
689a8b56a6 tests/functional: Convert the 32-bit little endian Wheezy 
mips test
8e3461c3a6 tests/functional: Convert the 64-bit little endian Wheezy 
mips test
f79592f427 tests/functional: Convert the 64-bit big endian Wheezy mips test
e83aee9c6a tests/avocado: Remove the boot_linux.py tests
7fecdb0acd tests/functional: Use the tuxrun kernel for the x86 replay test
a820caf844 tests/functional: Use the tuxrun kernel for the aarch64 
replay test
5c2bae2155 tests/functional: Convert the SMMU test to the functional 
framework
f8c5484417 gitlab-ci: Update QEMU_JOB_AVOCADO and QEMU_CI_AVOCADO_TESTING
5748e46415 docs/devel/testing: Dissolve the ci-definitions.rst.inc file
52e9ed6d3a Remove the remainders of the Avocado tests
858640eaee tests/functional: Remove semicolons at the end of lines
99fb9256b7 tests/functional: Remove unnecessary import statements
12c6b61530 MAINTAINERS: Add functional tests that are not covered yet

The result is at https://gitlab.com/mjt0k/qemu/-/pipelines/2174244481.

Please let me know if I should skip/omit some of them.  And please also
let me know of there's someting else which is worth picking up for 10.0
in the testing area, to keep an LTS branch more manageable.

Thanks!

/mjt