[Buildroot] [PATCH 5/5] support/testing/test/toolchain/test_external_bootlin: new test cases

Thomas Petazzoni thomas.petazzoni at bootlin.com
Thu May 14 12:53:03 UTC 2020


This commit adds the new test cases generated automatically by the
bl-toolchains-gen script, to test the integration of the Bootlin
toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
An example output can be seen at
https://gitlab.com/tpetazzoni/buildroot/pipelines/145945087. In this
pipeline, the check-gitlab-ci test failed because we have
intentionally kept only the testing of the Bootlin external toolchains
in this pipeline.
---
 .gitlab-ci.yml                                |  153 ++
 .../tests/toolchain/test_external_bootlin.py  | 2352 +++++++++++++++++
 2 files changed, 2505 insertions(+)
 create mode 100644 support/testing/tests/toolchain/test_external_bootlin.py

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fa8e077a07..1fe5ce6372 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -528,4 +528,157 @@ tests.toolchain.test_external.TestExternalToolchainLinaroArm: { extends: .runtim
 tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: { extends: .runtime_test }
 tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: { extends: .runtime_test }
 tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64beGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64beGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64beUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinAarch64beUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArcle750dUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArcle750dUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArclehs38GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArclehs38GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArclehs38UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArclehs38UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv5eabiGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv5eabiGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv5eabiMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv5eabiMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv5eabiUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv5eabiUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv6eabihfGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv6eabihfGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv6eabihfMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv6eabihfMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv6eabihfUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv6eabihfUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7eabihfGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7eabihfGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7eabihfMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7eabihfMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7eabihfUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7eabihfUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7mUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinArmv7mUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinM68k68xxxUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinM68k68xxxUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinM68kcoldfireUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinM68kcoldfireUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazebeGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazebeGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazebeMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazebeMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazebeUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazebeUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazeelGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazeelGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazeelMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazeelMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazeelUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMicroblazeelUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32elGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32elGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32elMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32elMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32elUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32elUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r5elGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r5elGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r5elMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r5elMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r5elUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r5elUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r6elGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r6elGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r6elMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r6elMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r6elUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips32r6elUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64eln32GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64eln32GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64eln32MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64eln32MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64eln32UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64eln32UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64n32GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64n32GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64n32MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64n32MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64n32UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64n32UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64r6eln32GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64r6eln32GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64r6eln32MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64r6eln32MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64r6eln32UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinMips64r6eln32UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinNios2GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinNios2GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinOpenriscMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinOpenriscMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinOpenriscUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinOpenriscUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64e5500GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64e5500GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64lepower8GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64lepower8GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64lepower8MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64lepower8MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64power8GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64power8GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64power8MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpc64power8MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpce500mcGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpce500mcGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpce500mcMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpce500mcMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpce500mcUclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinPowerpce500mcUclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinRiscv32ilp32dGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinRiscv64GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinRiscv64MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4aebGlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4aebGlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4aebMuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinShsh4aebMuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinSparc64GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinSparc64GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinSparcv8UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinSparcv8UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX8664corei7GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX8664corei7GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX8664corei7MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX8664corei7MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX8664corei7UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX8664corei7UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86core2GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86core2GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86core2MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86core2MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86core2UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86core2UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86i686GlibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86i686GlibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86i686MuslBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86i686MuslStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86i686UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinX86i686UclibcStable: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinXtensalx60UclibcBleedingEdge: { extends: .runtime_test }
+tests.toolchain.test_external_bootlin.TestExternalToolchainBootlinXtensalx60UclibcStable: { extends: .runtime_test }
 tests.utils.test_check_package.TestCheckPackage: { extends: .runtime_test }
diff --git a/support/testing/tests/toolchain/test_external_bootlin.py b/support/testing/tests/toolchain/test_external_bootlin.py
new file mode 100644
index 0000000000..d1cc7d8f72
--- /dev/null
+++ b/support/testing/tests/toolchain/test_external_bootlin.py
@@ -0,0 +1,2352 @@
+from tests.toolchain.test_external import TestExternalToolchain
+
+
+class TestExternalToolchainBootlinAarch64GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_aarch64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_aarch64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_aarch64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64MuslStable(TestExternalToolchain):
+    config = """
+        BR2_aarch64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_aarch64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_aarch64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_aarch64_be=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64_be-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_aarch64_be=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64_be-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_aarch64_be=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64_be-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinAarch64beUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_aarch64_be=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64BE_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "aarch64_be-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArcle750dUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arcle=y
+        BR2_arc750d=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArcle750dUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_arcle=y
+        BR2_arc750d=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_750D_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arcle=y
+        BR2_archs38=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_arcle=y
+        BR2_archs38=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arcle=y
+        BR2_archs38=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArclehs38UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_arcle=y
+        BR2_archs38=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCLE_HS38_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm926t=y
+        BR2_ARM_EABI=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm926t=y
+        BR2_ARM_EABI=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm926t=y
+        BR2_ARM_EABI=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiMuslStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm926t=y
+        BR2_ARM_EABI=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm926t=y
+        BR2_ARM_EABI=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv5eabiUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm926t=y
+        BR2_ARM_EABI=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm1176jzf_s=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm1176jzf_s=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm1176jzf_s=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfMuslStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm1176jzf_s=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm1176jzf_s=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv6eabihfUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_arm1176jzf_s=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_a8=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_a8=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_a8=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfMuslStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_a8=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_a8=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7eabihfUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_a8=y
+        BR2_ARM_EABIHF=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7mUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_m4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinArmv7mUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_arm=y
+        BR2_cortex_m4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7M_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "arm-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68k68xxxUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_m68k=y
+        BR2_m68k_68040=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "m68k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68k68xxxUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_m68k=y
+        BR2_m68k_68040=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_68XXX_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "m68k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68kcoldfireUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_m68k=y
+        BR2_m68k_cf5208=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "m68k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinM68kcoldfireUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_m68k=y
+        BR2_m68k_cf5208=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_M68K_COLDFIRE_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "m68k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_microblazebe=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblaze-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_microblazebe=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblaze-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_microblazebe=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblaze-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeMuslStable(TestExternalToolchain):
+    config = """
+        BR2_microblazebe=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblaze-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_microblazebe=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblaze-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazebeUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_microblazebe=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEBE_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblaze-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_microblazeel=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblazeel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_microblazeel=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblazeel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_microblazeel=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblazeel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelMuslStable(TestExternalToolchain):
+    config = """
+        BR2_microblazeel=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblazeel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_microblazeel=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblazeel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMicroblazeelUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_microblazeel=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MICROBLAZEEL_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "microblazeel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32MuslStable(TestExternalToolchain):
+    config = """
+        BR2_mips=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elMuslStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32elUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32EL_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r5=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r5=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r5=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elMuslStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r5=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r5=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r5elUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r5=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R5EL_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r6=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r6=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r6=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elMuslStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r6=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r6=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips32r6elUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mipsel=y
+        BR2_mips_32r6=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS32R6EL_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mipsel-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips64=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32MuslStable(TestExternalToolchain):
+    config = """
+        BR2_mips64=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64n32UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips64=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64_N32_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32MuslStable(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64eln32UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64EL_N32_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64r6=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64r6=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64r6=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32MuslStable(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64r6=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64r6=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinMips64r6eln32UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_mips64el=y
+        BR2_mips_64r6=y
+        BR2_MIPS_NABI32=y
+        # BR2_MIPS_SOFT_FLOAT is not set
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_MIPS64R6EL_N32_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "mips64el-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinNios2GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_nios2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "nios2-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinNios2GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_nios2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_NIOS2_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "nios2-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_or1k=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "or1k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscMuslStable(TestExternalToolchain):
+    config = """
+        BR2_or1k=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "or1k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_or1k=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "or1k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinOpenriscUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_or1k=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_OPENRISC_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "or1k-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc=y
+        BR2_powerpc_e500mc=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc=y
+        BR2_powerpc_e500mc=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc=y
+        BR2_powerpc_e500mc=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcMuslStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc=y
+        BR2_powerpc_e500mc=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcUclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc=y
+        BR2_powerpc_e500mc=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpce500mcUclibcStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc=y
+        BR2_powerpc_e500mc=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC_E500MC_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64e5500GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc64=y
+        BR2_powerpc_e5500=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64e5500GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc64=y
+        BR2_powerpc_e5500=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_E5500_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc64=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc64=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc64=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64power8MuslStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc64=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64_POWER8_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc64le=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64le-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc64le=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64le-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_powerpc64le=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64le-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinPowerpc64lepower8MuslStable(TestExternalToolchain):
+    config = """
+        BR2_powerpc64le=y
+        BR2_powerpc_power8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_POWERPC64LE_POWER8_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "powerpc64le-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinRiscv32ilp32dGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_riscv=y
+        BR2_riscv_g=y
+        BR2_RISCV_32=y
+        BR2_RISCV_ABI_ILP32D=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV32_ILP32D_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "riscv32-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinRiscv64GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_riscv=y
+        BR2_riscv_g=y
+        BR2_RISCV_64=y
+        BR2_RISCV_ABI_LP64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "riscv64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinRiscv64MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_riscv=y
+        BR2_riscv_g=y
+        BR2_RISCV_64=y
+        BR2_RISCV_ABI_LP64=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "riscv64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4MuslStable(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebGlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4aeb=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4aeb-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebGlibcStable(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4aeb=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4aeb-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebMuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4aeb=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4aeb-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinShsh4aebMuslStable(TestExternalToolchain):
+    config = """
+        BR2_sh=y
+        BR2_sh4aeb=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SH_SH4AEB_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sh4aeb-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparc64GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sparc64=y
+        BR2_sparc_v9=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sparc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparc64GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_sparc64=y
+        BR2_sparc_v9=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARC64_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sparc64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparcv8UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_sparc=y
+        BR2_sparc_v8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sparc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinSparcv8UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_sparc=y
+        BR2_sparc_v8=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_SPARCV8_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "sparc-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_x86_64=y
+        BR2_x86_corei7=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "x86_64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_x86_64=y
+        BR2_x86_corei7=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "x86_64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_x86_64=y
+        BR2_x86_corei7=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "x86_64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7MuslStable(TestExternalToolchain):
+    config = """
+        BR2_x86_64=y
+        BR2_x86_corei7=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "x86_64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_x86_64=y
+        BR2_x86_corei7=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "x86_64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX8664corei7UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_x86_64=y
+        BR2_x86_corei7=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_CORE_I7_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "x86_64-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_core2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_core2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_core2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2MuslStable(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_core2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_core2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86core2UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_core2=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_CORE2_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686GlibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_i686=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686GlibcStable(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_i686=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_GLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686MuslBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_i686=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686MuslStable(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_i686=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_MUSL_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_i686=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinX86i686UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_i386=y
+        BR2_x86_i686=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_I686_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "i686-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinXtensalx60UclibcBleedingEdge(TestExternalToolchain):
+    config = """
+        BR2_xtensa=y
+        BR2_xtensa_fsf=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_BLEEDING_EDGE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "xtensa-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
+
+
+class TestExternalToolchainBootlinXtensalx60UclibcStable(TestExternalToolchain):
+    config = """
+        BR2_xtensa=y
+        BR2_xtensa_fsf=y
+        BR2_TOOLCHAIN_EXTERNAL=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+        BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_XTENSA_LX60_UCLIBC_STABLE=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+    toolchain_prefix = "xtensa-linux"
+
+    def test_run(self):
+        TestExternalToolchain.common_check(self)
-- 
2.26.2



More information about the buildroot mailing list