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:
54
sources/poky/meta/lib/oeqa/selftest/cases/selftest.py
Normal file
54
sources/poky/meta/lib/oeqa/selftest/cases/selftest.py
Normal file
@@ -0,0 +1,54 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import importlib
|
||||
import oeqa.selftest
|
||||
from oeqa.selftest.case import OESelftestTestCase
|
||||
|
||||
class ExternalLayer(OESelftestTestCase):
|
||||
|
||||
def test_list_imported(self):
|
||||
"""
|
||||
Summary: Checks functionality to import tests from other layers.
|
||||
Expected: 1. File "external-layer.py" must be in
|
||||
oeqa.selftest.__path__
|
||||
2. test_unconditional_pas method must exists
|
||||
in ImportedTests class
|
||||
Product: oe-core
|
||||
Author: Mariano Lopez <mariano.lopez@intel.com>
|
||||
"""
|
||||
|
||||
test_file = "external-layer.py"
|
||||
test_module = "oeqa.selftest.cases.external-layer"
|
||||
method_name = "test_unconditional_pass"
|
||||
|
||||
# Check if "external-layer.py" is in oeqa path
|
||||
found_file = search_test_file(test_file)
|
||||
self.assertTrue(found_file, msg="Can't find %s in the oeqa path" % test_file)
|
||||
|
||||
# Import oeqa.selftest.external-layer module and search for
|
||||
# test_unconditional_pass method of ImportedTests class
|
||||
found_method = search_method(test_module, method_name)
|
||||
self.assertTrue(method_name, msg="Can't find %s method" % method_name)
|
||||
|
||||
def search_test_file(file_name):
|
||||
for layer_path in oeqa.selftest.__path__:
|
||||
for _, _, files in os.walk(layer_path):
|
||||
for f in files:
|
||||
if f == file_name:
|
||||
return True
|
||||
return False
|
||||
|
||||
def search_method(module, method):
|
||||
modlib = importlib.import_module(module)
|
||||
for var in vars(modlib):
|
||||
klass = vars(modlib)[var]
|
||||
if isinstance(klass, type(OESelftestTestCase)) and issubclass(klass, OESelftestTestCase):
|
||||
for m in dir(klass):
|
||||
if m == method:
|
||||
return True
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user