1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

oeqa/core/loader.py: Avoid importing tests with built-ins name

If importing a test with the same name as a built-in module,
it will silently import the built-in and check for tests in
built-in module. This happened with syslog module in debian
based machines, so add a raise to avoid this behavior.

[YOCTO #10978]

(From OE-Core rev: d9548f981448307b042807373e469f0d0b110bfe)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.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:
Mariano Lopez
2017-02-27 07:45:01 +00:00
committed by Richard Purdie
parent 9f8748c59f
commit 661c73b716
+11
View File
@@ -216,6 +216,13 @@ class OETestLoader(unittest.TestLoader):
# use_load_tests deprecation via *args and **kws. See issue 16662.
if sys.version_info >= (3,5):
def loadTestsFromModule(self, module, *args, pattern=None, **kws):
"""
Returns a suite of all tests cases contained in module.
"""
if module.__name__ in sys.builtin_module_names:
msg = 'Tried to import %s test module but is a built-in'
raise ImportError(msg % module.__name__)
if not self.modules or "all" in self.modules or \
module.__name__ in self.modules:
return super(OETestLoader, self).loadTestsFromModule(
@@ -227,6 +234,10 @@ class OETestLoader(unittest.TestLoader):
"""
Returns a suite of all tests cases contained in module.
"""
if module.__name__ in sys.builtin_module_names:
msg = 'Tried to import %s test module but is a built-in'
raise ImportError(msg % module.__name__)
if not self.modules or "all" in self.modules or \
module.__name__ in self.modules:
return super(OETestLoader, self).loadTestsFromModule(