b9dd9ee857
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>
108 lines
2.6 KiB
Python
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")
|