diff options
author | Lucian Musat <george.l.musat@intel.com> | 2015-10-09 20:16:26 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-11-16 11:39:31 +0000 |
commit | 54325b298b59f481ab937d0427d574518a856b7e (patch) | |
tree | b61af646776d7528f336dea9a53a7a9f4b3adff9 /meta/classes/testimage.bbclass | |
parent | ecbe1359da4df770515d44b81ba2edd284f51051 (diff) | |
download | poky-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.bbclass | 14 |
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")) |