Files
rpi-buildroot/support/testing/tests/package/test_gdb.py
Thomas Petazzoni d577c0208c support/testing/tests/package/test_gdb.py: fix ARC test
Since the disabling of the Synopsys ARC toolchain in
11a8cdd2bb, the test
tests.package.test_gdb.TestGdbArc was failing as it was relying on
this external toolchain.

Let's switch the test to use BR2_archs38, which allows to use a
Bootlin toolchain.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/8892696282

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-01-26 16:46:20 +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_archs38=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")