diff options
author | Aníbal Limón <anibal.limon@linux.intel.com> | 2017-06-12 16:41:18 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-13 10:46:31 +0100 |
commit | 9ab20ceb5801bee8dd8b218b3928720da5e1d403 (patch) | |
tree | 1da9d28f35a97ae5e9c0e56d7acb22a11205729c /meta/lib/oeqa | |
parent | 0f2e81c2a4458ad0ec6bab2710952ac2c2bbf1af (diff) | |
download | openembedded-core-9ab20ceb5801bee8dd8b218b3928720da5e1d403.tar.gz openembedded-core-9ab20ceb5801bee8dd8b218b3928720da5e1d403.tar.bz2 openembedded-core-9ab20ceb5801bee8dd8b218b3928720da5e1d403.zip |
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')
-rw-r--r-- | meta/lib/oeqa/core/loader.py | 28 |
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) |