kumquat-buildroot/support/testing/tests/package/test_gdb.py
Thomas Petazzoni b9dd9ee857 support/testing/tests/package/test_gdb.py: drop version-specific tests
Back when support/testing/tests/package/test_gdb was introduced, there
was a significant difference in how gdb < 10 and gdb >= 10 were
handled in gdb.mk, which explained why we were testing both gdb 9.x
and gdb 11.x.

However, support for gdb 9.x has now been dropped, and we only support
gdb >= 10.x, so testing gdb 9.x and 11.x separately no longer make
much sense. In addition:

 - other GDB tests in the same file already test the default version,
 which is now 11.x, meaning we in fact have duplicated tests between
 the ones testing the default version and the ones testing 11.x
 specifically

 - GDB 9.x has been removed, which means all the tests testing GDB 9.x
 are failing, with a Config.in.legacy build error.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/3249828456 (TestGdbHostOnly9x)
  https://gitlab.com/buildroot.org/buildroot/-/jobs/3249828454 (TestGdbHostGdbserver9x)
  https://gitlab.com/buildroot.org/buildroot/-/jobs/3249828451 (TestGdbHostGdbTarget9x)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-11-03 23:08:10 +01:00

108 lines
2.6 KiB
Python

import os
import infra.basetest
class BaseGdb(infra.basetest.BRTest):
def verify_host_gdb(self, prefix="arm-linux"):
cmd = ["host/bin/%s-gdb" % prefix, "--version"]
# We don't check the return value, as it automatically raises
# an exception if the command returns with a non-zero value
infra.run_cmd_on_host(self.builddir, cmd)
def boot(self):
img = os.path.join(self.builddir, "images", "rootfs.cpio")
self.emulator.boot(arch="armv5",
kernel="builtin",
options=["-initrd", img,
"-net", "nic",
"-net", "user"])
self.emulator.login()
def verify_gdbserver(self):
cmd = "gdbserver --version"
self.assertRunOk(cmd)
def verify_gdb(self):
cmd = "gdb --version"
self.assertRunOk(cmd)
class TestGdbHostOnlyDefault(BaseGdb):
config = \
infra.basetest.MINIMAL_CONFIG + \
"""
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_HOST_GDB=y
"""
def test_run(self):
self.verify_host_gdb()
class TestGdbHostOnlyAllFeatures(BaseGdb):
config = \
infra.basetest.MINIMAL_CONFIG + \
"""
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_TUI=y
BR2_PACKAGE_HOST_GDB_PYTHON3=y
BR2_PACKAGE_HOST_GDB_SIM=y
"""
def test_run(self):
self.verify_host_gdb()
class TestGdbserverOnly(BaseGdb):
config = \
"""
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_GDB=y
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
def test_run(self):
self.boot()
self.verify_gdbserver()
class TestGdbFullTarget(BaseGdb):
config = \
"""
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_DEBUGGER=y
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_TAR is not set
"""
def test_run(self):
self.boot()
self.verify_gdb()
class TestGdbArc(BaseGdb):
config = \
"""
BR2_arcle=y
BR2_archs4x_rel31=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_GDB=y
BR2_PACKAGE_GDB_SERVER=y
BR2_PACKAGE_GDB_DEBUGGER=y
"""
def test_run(self):
self.verify_host_gdb("arc-linux")