Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
86
sources/poky/meta/lib/oeqa/selftest/cases/sysroot.py
Normal file
86
sources/poky/meta/lib/oeqa/selftest/cases/sysroot.py
Normal file
@@ -0,0 +1,86 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import uuid
|
||||
|
||||
from oeqa.selftest.case import OESelftestTestCase
|
||||
from oeqa.utils.commands import bitbake
|
||||
|
||||
class SysrootTests(OESelftestTestCase):
|
||||
def test_sysroot_cleanup(self):
|
||||
"""
|
||||
Build sysroot test which depends on virtual/sysroot-test for one machine,
|
||||
switch machine, switch provider of virtual/sysroot-test and check that the
|
||||
sysroot is correctly cleaned up. The files in the two providers overlap
|
||||
so can cause errors if the sysroot code doesn't function correctly.
|
||||
Yes, sysroot-test should be machine specific really to avoid this, however
|
||||
the sysroot cleanup should also work [YOCTO #13702].
|
||||
"""
|
||||
|
||||
uuid1 = uuid.uuid4()
|
||||
uuid2 = uuid.uuid4()
|
||||
|
||||
self.write_config("""
|
||||
PREFERRED_PROVIDER_virtual/sysroot-test = "sysroot-test-arch1"
|
||||
MACHINE = "qemux86"
|
||||
TESTSTRING:pn-sysroot-test-arch1 = "%s"
|
||||
TESTSTRING:pn-sysroot-test-arch2 = "%s"
|
||||
""" % (uuid1, uuid2))
|
||||
bitbake("sysroot-test")
|
||||
self.write_config("""
|
||||
PREFERRED_PROVIDER_virtual/sysroot-test = "sysroot-test-arch2"
|
||||
MACHINE = "qemux86copy"
|
||||
TESTSTRING:pn-sysroot-test-arch1 = "%s"
|
||||
TESTSTRING:pn-sysroot-test-arch2 = "%s"
|
||||
""" % (uuid1, uuid2))
|
||||
bitbake("sysroot-test")
|
||||
|
||||
def test_sysroot_max_shebang(self):
|
||||
"""
|
||||
Summary: Check max shebang triggers. To confirm [YOCTO #11053] is closed.
|
||||
Expected: Fail when a shebang bigger than the max shebang-size is reached.
|
||||
Author: Paulo Neves <ptsneves@gmail.com>
|
||||
"""
|
||||
expected = "maximum shebang size exceeded, the maximum size is 128. [shebang-size]"
|
||||
res = bitbake("sysroot-shebang-test-native -c populate_sysroot", ignore_status=True)
|
||||
self.assertTrue(expected in res.output, msg=res.output)
|
||||
self.assertTrue(res.status != 0)
|
||||
|
||||
def test_sysroot_la(self):
|
||||
"""
|
||||
Summary: Check that workdir paths are not contained in .la files.
|
||||
Expected: Fail when a workdir path is found in the file content.
|
||||
Author: Paulo Neves <ptsneves@gmail.com>
|
||||
"""
|
||||
expected = "la-test.la failed sanity test (workdir) in path"
|
||||
|
||||
res = bitbake("sysroot-la-test -c populate_sysroot", ignore_status=True)
|
||||
self.assertTrue(expected in res.output, msg=res.output)
|
||||
self.assertTrue('[la]' in res.output, msg=res.output)
|
||||
self.assertTrue(res.status != 0)
|
||||
|
||||
res = bitbake("sysroot-la-test-native -c populate_sysroot", ignore_status=True)
|
||||
self.assertTrue(expected in res.output, msg=res.output)
|
||||
self.assertTrue('[la]' in res.output, msg=res.output)
|
||||
self.assertTrue(res.status != 0)
|
||||
|
||||
def test_sysroot_pkgconfig(self):
|
||||
"""
|
||||
Summary: Check that tmpdir paths are not contained in .pc files.
|
||||
Expected: Fail when a tmpdir path is found in the file content.
|
||||
Author: Paulo Neves <ptsneves@gmail.com>
|
||||
"""
|
||||
expected = "test.pc failed sanity test (tmpdir) in path"
|
||||
|
||||
res = bitbake("sysroot-pc-test -c populate_sysroot", ignore_status=True)
|
||||
self.assertTrue('[pkgconfig]' in res.output, msg=res.output)
|
||||
self.assertTrue(expected in res.output, msg=res.output)
|
||||
self.assertTrue(res.status != 0)
|
||||
|
||||
res = bitbake("sysroot-pc-test-native -c populate_sysroot", ignore_status=True)
|
||||
self.assertTrue(expected in res.output, msg=res.output)
|
||||
self.assertTrue('[pkgconfig]' in res.output, msg=res.output)
|
||||
self.assertTrue(res.status != 0)
|
||||
Reference in New Issue
Block a user