From: Mariano Lopez Date: Mon, 6 Jun 2016 07:15:40 +0000 (+0000) Subject: lib/oeqa/otest.py: Fix import tests from other layers with python3 X-Git-Tag: uninative-1.3~749 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=a26f23d3ce8f7e9f59dbc9bf27516377fd7a0a6d;p=openembedded-core.git lib/oeqa/otest.py: Fix import tests from other layers with python3 In python3 the functionality to import modules has been changed and this broke the capability to add runtime tests from other layers. This commit returns this capability to testimage and testexport. [YOCTO #9705] Signed-off-by: Mariano Lopez Signed-off-by: Richard Purdie --- diff --git a/meta/classes/testexport.bbclass b/meta/classes/testexport.bbclass index 51b7d93d2b..c86eaac197 100644 --- a/meta/classes/testexport.bbclass +++ b/meta/classes/testexport.bbclass @@ -96,11 +96,13 @@ def exportTests(d,tc): shutil.copytree(foldername, target_folder) if not isfolder: shutil.copy2(mod.path, os.path.join(exportpath, "oeqa/runtime")) - # copy __init__.py files - oeqadir = os.path.dirname(pkgutil.get_loader("oeqa").path) - shutil.copy2(os.path.join(oeqadir, "__init__.py"), os.path.join(exportpath, "oeqa")) - shutil.copy2(os.path.join(oeqadir, "runtime/__init__.py"), os.path.join(exportpath, "oeqa/runtime")) + # Get meta layer + for layer in d.getVar("BBLAYERS", True).split(): + if os.path.basename(layer) == "meta": + meta_layer = layer + break # copy oeqa/oetest.py and oeqa/runexported.py + oeqadir = os.path.join(meta_layer, "lib/oeqa") shutil.copy2(os.path.join(oeqadir, "oetest.py"), os.path.join(exportpath, "oeqa")) shutil.copy2(os.path.join(oeqadir, "runexported.py"), exportpath) # copy oeqa/utils/*.py diff --git a/meta/lib/oeqa/__init__.py b/meta/lib/oeqa/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index b4cf34b720..819f95987b 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -203,8 +203,7 @@ class TestContext(object): self.testslist = self._get_tests_list(path, extrapath) self.testsrequired = self._get_test_suites_required() - self.filesdir = os.path.join(os.path.dirname(os.path.abspath( - oeqa.runtime.__file__)), "files") + self.filesdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "runtime/files") self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split() self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split() @@ -460,7 +459,7 @@ class RuntimeTestContext(TestContext): Returns the path of the JSON file for a module, empty if doesn't exitst. """ - module_file = module.filename + module_file = module.path json_file = "%s.json" % module_file.rsplit(".", 1)[0] if os.path.isfile(module_file) and os.path.isfile(json_file): return json_file diff --git a/meta/lib/oeqa/runtime/__init__.py b/meta/lib/oeqa/runtime/__init__.py deleted file mode 100644 index 4cf3fa76b6..0000000000 --- a/meta/lib/oeqa/runtime/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# Enable other layers to have tests in the same named directory -from pkgutil import extend_path -__path__ = extend_path(__path__, __name__)