mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-25 20:26:34 +00:00
support/testing: add tests for musl and uclibc toolchains
These tests simply build a system with musl and uclibc toolchains, and boot them under qemu. It allows to minimally validate that our support for musl/uclibc external toolchains is working. We already had some tests covering glibc toolchains, so we can now easily test that all three C libraries are supported. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- This commit is part of the series, as I've written/used those tests to validate that things are still working correctly with all of glibc, uclibc and musl toolchains.
This commit is contained in:
parent
9c9e076a9f
commit
8bbc37e933
@ -226,6 +226,9 @@ tests.fs.test_ubi.TestUbi: *runtime_test
|
|||||||
tests.fs.test_yaffs2.TestYaffs2: *runtime_test
|
tests.fs.test_yaffs2.TestYaffs2: *runtime_test
|
||||||
tests.package.test_dropbear.TestDropbear: *runtime_test
|
tests.package.test_dropbear.TestDropbear: *runtime_test
|
||||||
tests.package.test_python.TestPythonBase: *runtime_test
|
tests.package.test_python.TestPythonBase: *runtime_test
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: *runtime_test
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: *runtime_test
|
||||||
|
tests.toolchain.test_external.TestExternalToolchainCtngMusl: *runtime_test
|
||||||
tests.toolchain.test_external.TestExternalToolchainLinaroArm: *runtime_test
|
tests.toolchain.test_external.TestExternalToolchainLinaroArm: *runtime_test
|
||||||
tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: *runtime_test
|
tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: *runtime_test
|
||||||
tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: *runtime_test
|
tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: *runtime_test
|
||||||
|
@ -154,3 +154,78 @@ BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y
|
|||||||
kernel="builtin",
|
kernel="builtin",
|
||||||
options=["-initrd", img])
|
options=["-initrd", img])
|
||||||
self.emulator.login()
|
self.emulator.login()
|
||||||
|
|
||||||
|
class TestExternalToolchainBuildrootMusl(TestExternalToolchain):
|
||||||
|
config = BASIC_CONFIG + \
|
||||||
|
"""
|
||||||
|
BR2_arm=y
|
||||||
|
BR2_cortex_a9=y
|
||||||
|
BR2_ARM_ENABLE_VFP=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2017.05-444-g6c704ba.tar.bz2"
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
"""
|
||||||
|
toolchain_prefix = "arm-linux"
|
||||||
|
|
||||||
|
def test_run(self):
|
||||||
|
TestExternalToolchain.common_check(self)
|
||||||
|
img = os.path.join(self.builddir, "images", "rootfs.cpio")
|
||||||
|
self.emulator.boot(arch="armv7",
|
||||||
|
kernel="builtin",
|
||||||
|
options=["-initrd", img])
|
||||||
|
self.emulator.login()
|
||||||
|
|
||||||
|
class TestExternalToolchainCtngMusl(TestExternalToolchain):
|
||||||
|
config = BASIC_CONFIG + \
|
||||||
|
"""
|
||||||
|
BR2_arm=y
|
||||||
|
BR2_cortex_a9=y
|
||||||
|
BR2_ARM_ENABLE_VFP=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/arm-ctng-linux-musleabihf.tar.xz"
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-ctng-linux-musleabihf"
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_GCC_7=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
"""
|
||||||
|
toolchain_prefix = "arm-ctng-linux-musleabihf"
|
||||||
|
|
||||||
|
def test_run(self):
|
||||||
|
TestExternalToolchain.common_check(self)
|
||||||
|
img = os.path.join(self.builddir, "images", "rootfs.cpio")
|
||||||
|
self.emulator.boot(arch="armv7",
|
||||||
|
kernel="builtin",
|
||||||
|
options=["-initrd", img])
|
||||||
|
self.emulator.login()
|
||||||
|
|
||||||
|
class TestExternalToolchainBuildrootuClibc(TestExternalToolchain):
|
||||||
|
config = BASIC_CONFIG + \
|
||||||
|
"""
|
||||||
|
BR2_arm=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.05-444-g6c704ba.tar.bz2"
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
|
||||||
|
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
|
||||||
|
BR2_TOOLCHAIN_EXTERNAL_CXX=y
|
||||||
|
"""
|
||||||
|
toolchain_prefix = "arm-linux"
|
||||||
|
|
||||||
|
def test_run(self):
|
||||||
|
TestExternalToolchain.common_check(self)
|
||||||
|
img = os.path.join(self.builddir, "images", "rootfs.cpio")
|
||||||
|
self.emulator.boot(arch="armv7",
|
||||||
|
kernel="builtin",
|
||||||
|
options=["-initrd", img])
|
||||||
|
self.emulator.login()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user