summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/core/loader.py
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linux.intel.com>2017-06-12 16:41:18 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-06-13 10:46:31 +0100
commit9ab20ceb5801bee8dd8b218b3928720da5e1d403 (patch)
tree1da9d28f35a97ae5e9c0e56d7acb22a11205729c /meta/lib/oeqa/core/loader.py
parent0f2e81c2a4458ad0ec6bab2710952ac2c2bbf1af (diff)
downloadopenembedded-core-contrib-9ab20ceb5801bee8dd8b218b3928720da5e1d403.tar.gz
oeqa/core/loader: Use full and small module name on filtering
The small module name was added to support run a whole suite that has more that 3 levels in the test case name, but this broke the behaviour for use a full test case name. [YOCTO #11632] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/core/loader.py')
-rw-r--r--meta/lib/oeqa/core/loader.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py
index d110881698..229f094b38 100644
--- a/meta/lib/oeqa/core/loader.py
+++ b/meta/lib/oeqa/core/loader.py
@@ -167,21 +167,28 @@ class OETestLoader(unittest.TestLoader):
# XXX; If the module has more than one namespace only use
# the first to support run the whole module specifying the
# <module_name>.[test_class].[test_name]
- module_name = case.__module__.split('.')[0]
+ module_name_small = case.__module__.split('.')[0]
+ module_name = case.__module__
class_name = case.__class__.__name__
test_name = case._testMethodName
if self.modules:
- if not module_name in self.modules:
- return True
+ module = None
+ try:
+ module = self.modules[module_name_small]
+ except KeyError:
+ try:
+ module = self.modules[module_name]
+ except KeyError:
+ return True
- if self.modules[module_name]:
- if not class_name in self.modules[module_name]:
+ if module:
+ if not class_name in module:
return True
- if self.modules[module_name][class_name]:
- if test_name not in self.modules[module_name][class_name]:
+ if module[class_name]:
+ if test_name not in module[class_name]:
return True
# Decorator filters
@@ -291,7 +298,8 @@ class OETestLoader(unittest.TestLoader):
# XXX; If the module has more than one namespace only use
# the first to support run the whole module specifying the
# <module_name>.[test_class].[test_name]
- module_name = module.__name__.split('.')[0]
+ module_name_small = module.__name__.split('.')[0]
+ module_name = module.__name__
# Normal test modules are loaded if no modules were specified,
# if module is in the specified module list or if 'all' is in
@@ -300,11 +308,13 @@ class OETestLoader(unittest.TestLoader):
load_module = True if not module_name.startswith('_') \
and (not self.modules \
or module_name in self.modules \
+ or module_name_small in self.modules \
or 'all' in self.modules) \
else False
load_underscore = True if module_name.startswith('_') \
- and module_name in self.modules \
+ and (module_name in self.modules or \
+ module_name_small in self.modules) \
else False
return (load_module, load_underscore)