[PATCH v4 00/40] testing/next (vm, gitlab, fixes)

Alex Bennée posted 40 patches 3 years, 9 months ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200701135652.1366-1-alex.bennee@linaro.org
Maintainers: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>, Cornelia Huck <cohuck@redhat.com>, Aurelien Jarno <aurelien@aurel32.net>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Thomas Huth <thuth@redhat.com>
configure                                     |  31 +-
hw/isa/lpc_ich9.c                             |   2 +-
linux-user/elfload.c                          |  10 +-
util/coroutine-ucontext.c                     |  52 ++-
.gitignore                                    |   1 +
.gitlab-ci.d/containers.yml                   | 263 +++++++++++++
.gitlab-ci.d/edk2.yml                         |   5 +-
.gitlab-ci.d/opensbi.yml                      |   5 +-
.gitlab-ci.yml                                | 281 ++++++++------
.shippable.yml                                |   8 +-
.travis.yml                                   |  23 --
python/qemu/console_socket.py                 | 110 ++++++
python/qemu/machine.py                        |  23 +-
tests/Makefile.include                        |  19 +-
tests/acceptance/boot_linux.py                |   2 +
tests/acceptance/linux_initrd.py              |   3 +
tests/acceptance/machine_mips_malta.py        |   3 +
tests/acceptance/machine_rx_gdbsim.py         |   2 +-
tests/docker/Makefile.include                 |  17 +-
tests/docker/common.rc                        |   2 +-
tests/docker/docker.py                        |  46 ++-
.../dockerfiles/debian-all-test-cross.docker  |  53 +++
.../dockerfiles/debian-alpha-cross.docker     |   2 +-
.../dockerfiles/debian-amd64-cross.docker     |   2 +-
tests/docker/dockerfiles/debian-amd64.docker  |   2 +-
.../dockerfiles/debian-arm64-cross.docker     |   2 +-
.../debian-arm64-test-cross.docker            |   2 +-
.../dockerfiles/debian-armel-cross.docker     |   2 +-
.../dockerfiles/debian-armhf-cross.docker     |   2 +-
.../dockerfiles/debian-hppa-cross.docker      |   2 +-
.../dockerfiles/debian-m68k-cross.docker      |   2 +-
.../dockerfiles/debian-mips-cross.docker      |   2 +-
.../dockerfiles/debian-mips64-cross.docker    |   2 +-
.../dockerfiles/debian-mips64el-cross.docker  |   2 +-
.../dockerfiles/debian-mipsel-cross.docker    |   2 +-
.../dockerfiles/debian-powerpc-cross.docker   |   2 +-
.../dockerfiles/debian-ppc64-cross.docker     |   2 +-
.../dockerfiles/debian-ppc64el-cross.docker   |   2 +-
.../dockerfiles/debian-riscv64-cross.docker   |   2 +-
.../dockerfiles/debian-s390x-cross.docker     |   2 +-
.../dockerfiles/debian-sh4-cross.docker       |   2 +-
.../dockerfiles/debian-sparc64-cross.docker   |   2 +-
.../dockerfiles/debian-tricore-cross.docker   |   2 +-
.../dockerfiles/debian-win32-cross.docker     |   2 +-
.../dockerfiles/debian-win64-cross.docker     |   2 +-
tests/docker/dockerfiles/debian9-mxe.docker   |   2 +-
tests/docker/dockerfiles/fedora.docker        |   7 +
tests/docker/dockerfiles/ubuntu2004.docker    |  10 +-
tests/qemu-iotests/051.pc.out                 |   4 +-
tests/tcg/Makefile.qemu                       |   4 +-
tests/tcg/configure.sh                        |  19 +-
tests/vm/Makefile.include                     |  22 ++
tests/vm/aarch64vm.py                         | 106 ++++++
tests/vm/basevm.py                            | 344 +++++++++++++-----
tests/vm/centos-8-aarch64.ks                  |  51 +++
tests/vm/centos.aarch64                       | 227 ++++++++++++
tests/vm/conf_example_aarch64.yml             |  51 +++
tests/vm/conf_example_x86.yml                 |  50 +++
tests/vm/fedora                               |  17 +-
tests/vm/freebsd                              |  16 +-
tests/vm/netbsd                               |  19 +-
tests/vm/openbsd                              |  17 +-
tests/vm/ubuntu.aarch64                       |  68 ++++
tests/vm/ubuntu.i386                          |  46 +--
tests/vm/ubuntuvm.py                          |  60 +++
65 files changed, 1771 insertions(+), 376 deletions(-)
create mode 100644 .gitlab-ci.d/containers.yml
create mode 100644 python/qemu/console_socket.py
create mode 100644 tests/docker/dockerfiles/debian-all-test-cross.docker
create mode 100644 tests/vm/aarch64vm.py
create mode 100644 tests/vm/centos-8-aarch64.ks
create mode 100755 tests/vm/centos.aarch64
create mode 100644 tests/vm/conf_example_aarch64.yml
create mode 100644 tests/vm/conf_example_x86.yml
create mode 100755 tests/vm/ubuntu.aarch64
create mode 100644 tests/vm/ubuntuvm.py
[PATCH v4 00/40] testing/next (vm, gitlab, fixes)
Posted by Alex Bennée 3 years, 9 months ago
Hi,

This is the next iteration of my testing/next queue. It has grown by a
further 9 patches. The last iteration was:

  https://patchew.org/QEMU/20200626181357.26211-1-alex.bennee@linaro.org/

I've ironed out the final problems with GitLab failures through a
combination of fixes for linux-user and applying skipIf for
problematic acceptance tests. The MIPS malta failures can be
reproduced locally but at nowhere near the rate of the CI system which
seems to fail every time. The other failure:

  linux_initrd.py:LinuxInitrd.test_with_2gib_file_should_work_with_linux_v4_16

is a bit of a mystery. It works fine in the same container when run
locally. Obviously with all this churn I didn't get to cut the PR I
was planning so it will be cut from this version.

The following need review:

  - shippable: pull images from registry instead of building
  - testing: add check-build target
  - containers.yml: build with docker.py tooling
  - linux-user/elfload: use MAP_FIXED_NOREPLACE in pgb_reserved_va
  - tests/tcg: add more default compilers to configure.sh
  - tests/acceptance: skip LinuxInitrd 2gib with v4.16 on GitLab
  - tests/acceptance: skip multicore mips_malta tests on GitLab
  - tests/acceptance: fix dtb path for machine_rx_gdbsim
  - tests/acceptance: skip s390x_ccw_vrtio_tcg on GitLab
  - tests/docker: add --registry support to tooling
  - gitlab: build containers with buildkit and metadata
  - hw/isa: check for current_cpu before generating IRQ

Alex Bennée (24):
  hw/isa: check for current_cpu before generating IRQ
  tests/vm: switch from optsparse to argparse
  tests/vm: allow us to take advantage of MTTCG
  tests/docker: check for an parameters not empty string
  tests/docker: change tag naming scheme of our images
  .gitignore: un-ignore .gitlab-ci.d
  gitlab: build containers with buildkit and metadata
  tests/docker: add --registry support to tooling
  tests/docker: add packages needed for check-acceptance
  tests/acceptance: skip s390x_ccw_vrtio_tcg on GitLab
  tests/acceptance: fix dtb path for machine_rx_gdbsim
  tests/acceptance: skip multicore mips_malta tests on GitLab
  tests/acceptance: skip LinuxInitrd 2gib with v4.16 on GitLab
  gitlab: add acceptance testing to system builds
  tests/tcg: add more default compilers to configure.sh
  tests/docker: add a linux-user testing focused image
  linux-user/elfload: use MAP_FIXED_NOREPLACE in pgb_reserved_va
  gitlab: enable check-tcg for linux-user tests
  gitlab: add avocado asset caching
  gitlab: split build-disabled into two phases
  gitlab: limit re-builds of the containers
  containers.yml: build with docker.py tooling
  testing: add check-build target
  shippable: pull images from registry instead of building

Daniel P. Berrangé (3):
  gitlab: introduce explicit "container" and "build" stages
  gitlab: build all container images during CI
  gitlab: convert jobs to use custom built containers

David Edmondson (1):
  crypto/linux_keyring: fix 'secret_keyring' configure test

Philippe Mathieu-Daudé (1):
  iotests: Fix 051 output after qdev_init_nofail() removal

Robert Foley (10):
  util/coroutine: Cleanup start_switch_fiber_ for TSAN.
  tests/vm: pass args through to BaseVM's __init__
  tests/vm: Add configuration to basevm.py
  tests/vm: Added configuration file support
  tests/vm: Add common Ubuntu python module
  tests/vm: Added a new script for ubuntu.aarch64.
  tests/vm: Added a new script for centos.aarch64.
  tests/vm: change scripts to use self._config
  python/qemu: Add ConsoleSocket for optional use in QEMUMachine
  tests/vm: Add workaround to consume console

Thomas Huth (1):
  gitlab-ci: Fix the change rules after moving the YML files

 configure                                     |  31 +-
 hw/isa/lpc_ich9.c                             |   2 +-
 linux-user/elfload.c                          |  10 +-
 util/coroutine-ucontext.c                     |  52 ++-
 .gitignore                                    |   1 +
 .gitlab-ci.d/containers.yml                   | 263 +++++++++++++
 .gitlab-ci.d/edk2.yml                         |   5 +-
 .gitlab-ci.d/opensbi.yml                      |   5 +-
 .gitlab-ci.yml                                | 281 ++++++++------
 .shippable.yml                                |   8 +-
 .travis.yml                                   |  23 --
 python/qemu/console_socket.py                 | 110 ++++++
 python/qemu/machine.py                        |  23 +-
 tests/Makefile.include                        |  19 +-
 tests/acceptance/boot_linux.py                |   2 +
 tests/acceptance/linux_initrd.py              |   3 +
 tests/acceptance/machine_mips_malta.py        |   3 +
 tests/acceptance/machine_rx_gdbsim.py         |   2 +-
 tests/docker/Makefile.include                 |  17 +-
 tests/docker/common.rc                        |   2 +-
 tests/docker/docker.py                        |  46 ++-
 .../dockerfiles/debian-all-test-cross.docker  |  53 +++
 .../dockerfiles/debian-alpha-cross.docker     |   2 +-
 .../dockerfiles/debian-amd64-cross.docker     |   2 +-
 tests/docker/dockerfiles/debian-amd64.docker  |   2 +-
 .../dockerfiles/debian-arm64-cross.docker     |   2 +-
 .../debian-arm64-test-cross.docker            |   2 +-
 .../dockerfiles/debian-armel-cross.docker     |   2 +-
 .../dockerfiles/debian-armhf-cross.docker     |   2 +-
 .../dockerfiles/debian-hppa-cross.docker      |   2 +-
 .../dockerfiles/debian-m68k-cross.docker      |   2 +-
 .../dockerfiles/debian-mips-cross.docker      |   2 +-
 .../dockerfiles/debian-mips64-cross.docker    |   2 +-
 .../dockerfiles/debian-mips64el-cross.docker  |   2 +-
 .../dockerfiles/debian-mipsel-cross.docker    |   2 +-
 .../dockerfiles/debian-powerpc-cross.docker   |   2 +-
 .../dockerfiles/debian-ppc64-cross.docker     |   2 +-
 .../dockerfiles/debian-ppc64el-cross.docker   |   2 +-
 .../dockerfiles/debian-riscv64-cross.docker   |   2 +-
 .../dockerfiles/debian-s390x-cross.docker     |   2 +-
 .../dockerfiles/debian-sh4-cross.docker       |   2 +-
 .../dockerfiles/debian-sparc64-cross.docker   |   2 +-
 .../dockerfiles/debian-tricore-cross.docker   |   2 +-
 .../dockerfiles/debian-win32-cross.docker     |   2 +-
 .../dockerfiles/debian-win64-cross.docker     |   2 +-
 tests/docker/dockerfiles/debian9-mxe.docker   |   2 +-
 tests/docker/dockerfiles/fedora.docker        |   7 +
 tests/docker/dockerfiles/ubuntu2004.docker    |  10 +-
 tests/qemu-iotests/051.pc.out                 |   4 +-
 tests/tcg/Makefile.qemu                       |   4 +-
 tests/tcg/configure.sh                        |  19 +-
 tests/vm/Makefile.include                     |  22 ++
 tests/vm/aarch64vm.py                         | 106 ++++++
 tests/vm/basevm.py                            | 344 +++++++++++++-----
 tests/vm/centos-8-aarch64.ks                  |  51 +++
 tests/vm/centos.aarch64                       | 227 ++++++++++++
 tests/vm/conf_example_aarch64.yml             |  51 +++
 tests/vm/conf_example_x86.yml                 |  50 +++
 tests/vm/fedora                               |  17 +-
 tests/vm/freebsd                              |  16 +-
 tests/vm/netbsd                               |  19 +-
 tests/vm/openbsd                              |  17 +-
 tests/vm/ubuntu.aarch64                       |  68 ++++
 tests/vm/ubuntu.i386                          |  46 +--
 tests/vm/ubuntuvm.py                          |  60 +++
 65 files changed, 1771 insertions(+), 376 deletions(-)
 create mode 100644 .gitlab-ci.d/containers.yml
 create mode 100644 python/qemu/console_socket.py
 create mode 100644 tests/docker/dockerfiles/debian-all-test-cross.docker
 create mode 100644 tests/vm/aarch64vm.py
 create mode 100644 tests/vm/centos-8-aarch64.ks
 create mode 100755 tests/vm/centos.aarch64
 create mode 100644 tests/vm/conf_example_aarch64.yml
 create mode 100644 tests/vm/conf_example_x86.yml
 create mode 100755 tests/vm/ubuntu.aarch64
 create mode 100644 tests/vm/ubuntuvm.py

-- 
2.20.1