oeqa/testimage: Add support for test folder export.
If tests are organized in folders then it will copy the whole folder to the export location. This should keep the original directory structure for exported oeqa/runtime. (From OE-Core rev: 8fe45badd3dfe44fa5161229324b6439594123fd) Signed-off-by: Lucian Musat <george.l.musat@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ecbe1359da
commit
54325b298b
|
@ -229,11 +229,23 @@ def exportTests(d,tc):
|
|||
bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/runtime/files"))
|
||||
bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/utils"))
|
||||
# copy test modules, this should cover tests in other layers too
|
||||
bbpath = d.getVar("BBPATH", True).split(':')
|
||||
for t in tc.testslist:
|
||||
isfolder = False
|
||||
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"))
|
||||
# More depth than usual?
|
||||
if (t.count('.') > 2):
|
||||
for p in bbpath:
|
||||
foldername = os.path.join(p, 'lib', os.sep.join(t.split('.')).rsplit(os.sep, 1)[0])
|
||||
if os.path.isdir(foldername):
|
||||
isfolder = True
|
||||
target_folder = os.path.join(exportpath, "oeqa", "runtime", os.path.basename(foldername))
|
||||
if not os.path.exists(target_folder):
|
||||
shutil.copytree(foldername, target_folder)
|
||||
if not isfolder:
|
||||
shutil.copy2(mod.filename, os.path.join(exportpath, "oeqa/runtime"))
|
||||
# copy __init__.py files
|
||||
oeqadir = pkgutil.get_loader("oeqa").filename
|
||||
shutil.copy2(os.path.join(oeqadir, "__init__.py"), os.path.join(exportpath, "oeqa"))
|
||||
|
|
Loading…
Reference in New Issue