oeqa sdk cases: Skip SDK test cases when TCLIBC is newlib

Newlib generally requires additional components to function.  Skip the
cases where newlib is known to not work.

(From OE-Core rev: b9934755554e40d9980b90c3d541f4c702203561)

Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle
2024-07-25 11:30:46 -05:00
committed by Richard Purdie
parent 715899efb7
commit 6c56ffc8cf
6 changed files with 28 additions and 0 deletions

View File

@@ -7,6 +7,7 @@
import os
import tempfile
import subprocess
import unittest
from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
@@ -16,6 +17,11 @@ class AutotoolsTest(OESDKTestCase):
"""
Check that autotools will cross-compile correctly.
"""
def setUp(self):
libc = self.td.get("TCLIBC")
if libc in [ 'newlib' ]:
raise unittest.SkipTest("AutotoolsTest class: SDK doesn't contain a supported C library")
def test_cpio(self):
with tempfile.TemporaryDirectory(prefix="cpio-", dir=self.tc.sdk_dir) as testdir:
tarball = self.fetch(testdir, self.td["DL_DIR"], "https://ftp.gnu.org/gnu/cpio/cpio-2.15.tar.gz")

View File

@@ -19,6 +19,10 @@ class CMakeTest(OESDKTestCase):
"""
def setUp(self):
libc = self.td.get("TCLIBC")
if libc in [ 'newlib' ]:
raise unittest.SkipTest("CMakeTest class: SDK doesn't contain a supported C library")
if not (self.tc.hasHostPackage("nativesdk-cmake") or
self.tc.hasHostPackage("cmake-native")):
raise unittest.SkipTest("CMakeTest: needs cmake")

View File

@@ -26,6 +26,10 @@ class GccCompileTest(OESDKTestCase):
os.path.join(self.tc.sdk_dir, f))
def setUp(self):
libc = self.td.get("TCLIBC")
if libc in [ 'newlib' ]:
raise unittest.SkipTest("GccCompileTest class: SDK doesn't contain a supported C library")
machine = self.td.get("MACHINE")
if not (self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine) or
self.tc.hasHostPackage("^gcc-", regex=True)):

View File

@@ -18,6 +18,10 @@ class GTK3Test(OESDKTestCase):
Test that autotools and GTK+ 3 compiles correctly.
"""
def setUp(self):
libc = self.td.get("TCLIBC")
if libc in [ 'newlib' ]:
raise unittest.SkipTest("GTK3Test class: SDK doesn't contain a supported C library")
if not (self.tc.hasTargetPackage("gtk+3", multilib=True) or \
self.tc.hasTargetPackage("libgtk-3.0", multilib=True)):
raise unittest.SkipTest("GalculatorTest class: SDK don't support gtk+3")

View File

@@ -5,6 +5,7 @@
#
import os, tempfile, subprocess
import unittest
from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
errors_have_output()
@@ -13,6 +14,11 @@ class MakefileTest(OESDKTestCase):
"""
Test that "plain" compilation works, using just $CC $CFLAGS etc.
"""
def setUp(self):
libc = self.td.get("TCLIBC")
if libc in [ 'newlib' ]:
raise unittest.SkipTest("MakefileTest class: SDK doesn't contain a supported C library")
def test_lzip(self):
with tempfile.TemporaryDirectory(prefix="lzip", dir=self.tc.sdk_dir) as testdir:
tarball = self.fetch(testdir, self.td["DL_DIR"], "http://downloads.yoctoproject.org/mirror/sources/lzip-1.19.tar.gz")

View File

@@ -18,6 +18,10 @@ class MesonTest(OESDKTestCase):
Test that Meson builds correctly.
"""
def setUp(self):
libc = self.td.get("TCLIBC")
if libc in [ 'newlib' ]:
raise unittest.SkipTest("MesonTest class: SDK doesn't contain a supported C library")
if not (self.tc.hasHostPackage("nativesdk-meson") or
self.tc.hasHostPackage("meson-native")):
raise unittest.SkipTest("MesonTest: needs meson")