mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00

These IDs refer to testopia which we're no longer using. We would now use the test names to definitively reference tests and the IDs can be dropped, along with their supporting code. (From OE-Core rev: 8e2d0575e4e7036b5f60e632f377a8ab2b96ead8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
import importlib
|
|
from oeqa.utils.commands import runCmd
|
|
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
|
|
|