From: Lucian Musat Date: Mon, 28 Sep 2015 14:52:24 +0000 (+0300) Subject: oeqa/testimage: Add ability to run single test from suite. X-Git-Tag: 2015-10~211 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=3bf5204315fedc586fdf641583cfdb2c1a78c5c0;p=openembedded-core.git oeqa/testimage: Add ability to run single test from suite. Just like we have in oe-selftest, you can add .. in TEST_SUITES in order to run just that test Signed-off-by: Lucian Musat Signed-off-by: Richard Purdie --- diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 2efab29d2b..bde510ca26 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -146,6 +146,10 @@ def get_tests_list(d, type="runtime"): testslist.append("oeqa." + type + "." + testname) found = True break + elif os.path.exists(os.path.join(p, 'lib', 'oeqa', type, testname.split(".")[0] + '.py')): + testslist.append("oeqa." + type + "." + testname) + found = True + break if not found: bb.fatal('Test %s specified in TEST_SUITES could not be found in lib/oeqa/runtime under BBPATH' % testname) @@ -172,6 +176,7 @@ def exportTests(d,tc): import json import shutil import pkgutil + import re exportpath = d.getVar("TEST_EXPORT_DIR", True) @@ -223,6 +228,8 @@ def exportTests(d,tc): bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/utils")) # copy test modules, this should cover tests in other layers too for t in tc.testslist: + if re.search("\w+\.\w+\.test_\S+", t): + t = '.'.join(t.split('.')[:3]) mod = pkgutil.get_loader(t) shutil.copy2(mod.filename, os.path.join(exportpath, "oeqa/runtime")) # copy __init__.py files