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: lucaceresoli/bug-15201-perf-libtraceevent-missing~25456 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a26f23d3ce8f7e9f59dbc9bf27516377fd7a0a6d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.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 51b7d93d2b2..c86eaac1978 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 e69de29bb2d..00000000000 diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index b4cf34b7204..819f95987bd 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 4cf3fa76b69..00000000000 --- 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__)