summaryrefslogtreecommitdiffstats
path: root/meta/classes/testimage.bbclass
diff options
context:
space:
mode:
authorLucian Musat <george.l.musat@intel.com>2015-10-09 20:16:26 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-11-16 11:39:31 +0000
commit54325b298b59f481ab937d0427d574518a856b7e (patch)
treeb61af646776d7528f336dea9a53a7a9f4b3adff9 /meta/classes/testimage.bbclass
parentecbe1359da4df770515d44b81ba2edd284f51051 (diff)
downloadpoky-54325b298b59f481ab937d0427d574518a856b7e.tar.gz
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>
Diffstat (limited to 'meta/classes/testimage.bbclass')
-rw-r--r--meta/classes/testimage.bbclass14
1 files changed, 13 insertions, 1 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index d571672bc0..e833db4bfe 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -229,11 +229,23 @@ def exportTests(d,tc):
229 bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/runtime/files")) 229 bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/runtime/files"))
230 bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/utils")) 230 bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/utils"))
231 # copy test modules, this should cover tests in other layers too 231 # copy test modules, this should cover tests in other layers too
232 bbpath = d.getVar("BBPATH", True).split(':')
232 for t in tc.testslist: 233 for t in tc.testslist:
234 isfolder = False
233 if re.search("\w+\.\w+\.test_\S+", t): 235 if re.search("\w+\.\w+\.test_\S+", t):
234 t = '.'.join(t.split('.')[:3]) 236 t = '.'.join(t.split('.')[:3])
235 mod = pkgutil.get_loader(t) 237 mod = pkgutil.get_loader(t)
236 shutil.copy2(mod.filename, os.path.join(exportpath, "oeqa/runtime")) 238 # More depth than usual?
239 if (t.count('.') > 2):
240 for p in bbpath:
241 foldername = os.path.join(p, 'lib', os.sep.join(t.split('.')).rsplit(os.sep, 1)[0])
242 if os.path.isdir(foldername):
243 isfolder = True
244 target_folder = os.path.join(exportpath, "oeqa", "runtime", os.path.basename(foldername))
245 if not os.path.exists(target_folder):
246 shutil.copytree(foldername, target_folder)
247 if not isfolder:
248 shutil.copy2(mod.filename, os.path.join(exportpath, "oeqa/runtime"))
237 # copy __init__.py files 249 # copy __init__.py files
238 oeqadir = pkgutil.get_loader("oeqa").filename 250 oeqadir = pkgutil.get_loader("oeqa").filename
239 shutil.copy2(os.path.join(oeqadir, "__init__.py"), os.path.join(exportpath, "oeqa")) 251 shutil.copy2(os.path.join(oeqadir, "__init__.py"), os.path.join(exportpath, "oeqa"))