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>
This commit is contained in:
Thomas Huth
2025-11-28 14:39:49 +01:00
parent f098c32db4
commit f397b7652d
3 changed files with 25 additions and 1 deletions

View File

@@ -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')

View File

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

View File

@@ -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()