Browse Source

tests/functional/s390x: Add reverse debugging test for s390x

We just have to make sure that we can set the endianness to big endian,
then we can also run this test on s390x.

Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20251128133949.181828-1-thuth@redhat.com>
pull/316/head
Thomas Huth 4 months ago
parent
commit
f397b7652d
  1. 4
      tests/functional/reverse_debugging.py
  2. 1
      tests/functional/s390x/meson.build
  3. 21
      tests/functional/s390x/test_reverse_debug.py

4
tests/functional/reverse_debugging.py

@ -64,7 +64,7 @@ class ReverseDebugging(LinuxKernelTest):
@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 @@ class ReverseDebugging(LinuxKernelTest):
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')

1
tests/functional/s390x/meson.build

@ -6,6 +6,7 @@ test_s390x_timeouts = {
tests_s390x_system_quick = [
'vmstate',
'reverse_debug',
]
tests_s390x_system_thorough = [

21
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()
Loading…
Cancel
Save