From: Thomas Huth <[email protected]> We just have to make sure that we can set the endianness to big endian, then we can also run this test on s390x.
Signed-off-by: Thomas Huth <[email protected]> --- Marked as RFC since it depends on the fix for this bug (so it cannot be merged yet): https://lore.kernel.org/qemu-devel/[email protected]/ tests/functional/reverse_debugging.py | 4 +++- tests/functional/s390x/meson.build | 1 + tests/functional/s390x/test_reverse_debug.py | 21 ++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100755 tests/functional/s390x/test_reverse_debug.py diff --git a/tests/functional/reverse_debugging.py b/tests/functional/reverse_debugging.py index 86fca8d81f1..8b9507674a0 100644 --- a/tests/functional/reverse_debugging.py +++ b/tests/functional/reverse_debugging.py @@ -64,7 +64,7 @@ def vm_get_icount(vm): @skipIfMissingImports("pygdbmi") # Required by GDB class @skipIfMissingEnv("QEMU_TEST_GDB") - def reverse_debugging(self, gdb_arch, shift=7, args=None): + def reverse_debugging(self, gdb_arch, shift=7, args=None, big_endian=False): from qemu_test import GDB # create qcow2 for snapshots @@ -99,6 +99,8 @@ def reverse_debugging(self, gdb_arch, shift=7, args=None): gdb_cmd = os.getenv('QEMU_TEST_GDB') gdb = GDB(gdb_cmd) try: + if big_endian: + gdb.cli("set endian big") self.reverse_debugging_run(gdb, vm, port, gdb_arch, last_icount) finally: self.log.info('exiting gdb and qemu') diff --git a/tests/functional/s390x/meson.build b/tests/functional/s390x/meson.build index 70cd36e2913..0f03e1c9db8 100644 --- a/tests/functional/s390x/meson.build +++ b/tests/functional/s390x/meson.build @@ -6,6 +6,7 @@ test_s390x_timeouts = { tests_s390x_system_quick = [ 'vmstate', + 'reverse_debug', ] tests_s390x_system_thorough = [ diff --git a/tests/functional/s390x/test_reverse_debug.py b/tests/functional/s390x/test_reverse_debug.py new file mode 100755 index 00000000000..0767dc91678 --- /dev/null +++ b/tests/functional/s390x/test_reverse_debug.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +# +# SPDX-License-Identifier: GPL-2.0-or-later +# +''' +Reverse debugging test for s390x +''' + +from reverse_debugging import ReverseDebugging + + +class ReverseDebuggingS390x(ReverseDebugging): + + def test_revdbg(self): + self.set_machine('s390-ccw-virtio') + self.reverse_debugging(gdb_arch='s390:64-bit', shift=6, + big_endian=True, args=('-no-shutdown',)) + + +if __name__ == '__main__': + ReverseDebugging.main() -- 2.51.1
