[PATCH v2 00/16] testing/next: functional testing updates for gdb

Alex Bennée posted 16 patches 1 week, 3 days ago
meson.build                                   |  15 +-
tests/tcg/multiarch/linux/linux-sigrtminmax.c |   2 +-
tests/functional/aarch64/test_tuxrun.py       |  35 +++-
.../functional/gdb-scripts/kernel_gdb_test.py | 176 ++++++++++++++++++
tests/functional/meson.build                  |   5 +-
tests/functional/qemu_test/tuxruntest.py      | 103 +++++++++-
tests/functional/s390x/test_tuxrun.py         |  33 +++-
tests/functional/sh4/test_tuxrun.py           |   2 +-
tests/functional/x86_64/test_acpi_bits.py     |   3 +
tests/functional/x86_64/test_tuxrun.py        |  45 ++++-
tests/guest-debug/run-test.py                 |  10 +
tests/tcg/meson.build                         |   5 -
12 files changed, 391 insertions(+), 43 deletions(-)
create mode 100644 tests/functional/gdb-scripts/kernel_gdb_test.py
[PATCH v2 00/16] testing/next: functional testing updates for gdb
Posted by Alex Bennée 1 week, 3 days ago
Hi,

This is the current state of my testing/next tree. There a are a few
minor tweaks and fixes that I've picked up. The majority of the new
code adds testing for the gdb stub when used via KVM.

As a result I spoke to Anders who handles the tuxrun images and he was
able to turn on debugging symbols and provide a vmlinux alongside the
bootable image. With these updates I was able to resurrect the old
test script I was running by hand and then plumb it into a functional
test.

So far I've done x86_64, aarch64 and s390x. I can't test ppc because
our CI machines don't support nested KVM. I don't have access to any
riscv kvm capable hardware.

The reason I went on the side-quest is because when working on
cleaning up QEMU's internal KVM api I realised that quite a large
chunk of it is not exercised by our functional tests. This would
ensure that at least:

  kvm_arch_update_guest_debug
  kvm_arch_get_registers
  kvm_arch_set_registers

is exercised and I'm less likely to break things in my re-factor ;-)

v2

  - fixed up the sh4 direct call
  - dropped the fw tracing test case as tuxrun images cover it all
  - added aarch64 and s390x cases
  - worked around s390x watchpoint issues

The following still need review:

  tests/functional: add tuxrun kvm gdb test for s390x
  tests/functional: update s390x tuxrun images
  tests/functional: split s390x tuxrun into tcg and kvm run
  tests/functional: add tuxrun kvm gdb test for arm64
  tests/functional: update arm64 tuxrun images
  tests/functional: teach tuxrun about launching gdb tests
  tests/functional: allow tuxrun tests to be passed "accel"

Alex.

Alex Bennée (15):
  tests/functional: test_acpi_bits requires TCG
  meson: move gdb detection into the top level build file
  tests/functional: allow tuxrun tests to be passed "accel"
  tests/functional: split x86_64 tuxrun into tcg and kvm run
  tests/functional: update x86_64 tuxrun images
  tests/guest-debug: add --kargs option to run-test
  tests/guest-debug: add --symbols option to run-test
  tests/functional: teach tuxrun about launching gdb tests
  tests/functional: add tuxrun kvm gdb test for x86_64
  tests/functional: split aarch64 tuxrun into tcg and kvm run
  tests/functional: update arm64 tuxrun images
  tests/functional: add tuxrun kvm gdb test for arm64
  tests/functional: split s390x tuxrun into tcg and kvm run
  tests/functional: update s390x tuxrun images
  tests/functional: add tuxrun kvm gdb test for s390x

Max Filippov (1):
  tests/tcg: fix buffer overflow in multiarch/linux/linux-sigrtminmax

 meson.build                                   |  15 +-
 tests/tcg/multiarch/linux/linux-sigrtminmax.c |   2 +-
 tests/functional/aarch64/test_tuxrun.py       |  35 +++-
 .../functional/gdb-scripts/kernel_gdb_test.py | 176 ++++++++++++++++++
 tests/functional/meson.build                  |   5 +-
 tests/functional/qemu_test/tuxruntest.py      | 103 +++++++++-
 tests/functional/s390x/test_tuxrun.py         |  33 +++-
 tests/functional/sh4/test_tuxrun.py           |   2 +-
 tests/functional/x86_64/test_acpi_bits.py     |   3 +
 tests/functional/x86_64/test_tuxrun.py        |  45 ++++-
 tests/guest-debug/run-test.py                 |  10 +
 tests/tcg/meson.build                         |   5 -
 12 files changed, 391 insertions(+), 43 deletions(-)
 create mode 100644 tests/functional/gdb-scripts/kernel_gdb_test.py

-- 
2.47.3