Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCHv2 0/1] oeqa/core/loader.py: Do not import underscore modules by default
@ 2017-03-27 20:05 mariano.lopez
  2017-03-27 20:05 ` [PATCHv2 1/1] " mariano.lopez
  0 siblings, 1 reply; 2+ messages in thread
From: mariano.lopez @ 2017-03-27 20:05 UTC (permalink / raw)
  To: openembedded-core

From: Mariano Lopez <mariano.lopez@linux.intel.com>

Changes in v2:
- Rebase to master.
- Fix how bug number was specified to make patchtest happy.

The following changes since commit f5187871ce03fc24cb0017cff1089a288f50a24f:

  classes: Replace "if test" file tests with POSIX file tests (2017-03-27 11:08:34 +0100)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib mariano/bug10980
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=mariano/bug10980

Mariano Lopez (1):
  oeqa/core/loader.py: Do not import underscore modules by default

 meta/lib/oeqa/core/loader.py | 34 ++++++++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 4 deletions(-)

-- 
2.10.2



^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCHv2 1/1] oeqa/core/loader.py: Do not import underscore modules by default
  2017-03-27 20:05 [PATCHv2 0/1] oeqa/core/loader.py: Do not import underscore modules by default mariano.lopez
@ 2017-03-27 20:05 ` mariano.lopez
  0 siblings, 0 replies; 2+ messages in thread
From: mariano.lopez @ 2017-03-27 20:05 UTC (permalink / raw)
  To: openembedded-core

From: Mariano Lopez <mariano.lopez@linux.intel.com>

Underscore modules are meant to be run only when manually added to the test
suite, so far another mechanisms are in place to make this happen with
runtime, sdk, and esdk (mostly in test* bbclasses).

This will add such functionality in the core framework so other specific
frameworks can take use this without adding something else.

[YOCTO #10980]

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
 meta/lib/oeqa/core/loader.py | 34 ++++++++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/core/loader.py b/meta/lib/oeqa/core/loader.py
index 74f1117..63a1703 100644
--- a/meta/lib/oeqa/core/loader.py
+++ b/meta/lib/oeqa/core/loader.py
@@ -223,8 +223,21 @@ class OETestLoader(unittest.TestLoader):
                 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:
+            # Normal test modules are loaded if no modules were specified,
+            # if module is in the specified module list or if 'all' is in
+            # module list.
+            # Underscore modules are loaded only if specified in module list.
+            load_module = True if not module.__name__.startswith('_') \
+                                  and (not self.modules \
+                                       or module.__name__ in self.modules \
+                                       or 'all' in self.modules) \
+                               else False
+
+            load_underscore = True if module.__name__.startswith('_') \
+                                      and module.__name__ in self.modules \
+                                   else False
+
+            if load_module or load_underscore:
                 return super(OETestLoader, self).loadTestsFromModule(
                         module, *args, pattern=pattern, **kws)
             else:
@@ -238,8 +251,21 @@ class OETestLoader(unittest.TestLoader):
                 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:
+            # Normal test modules are loaded if no modules were specified,
+            # if module is in the specified module list or if 'all' is in
+            # module list.
+            # Underscore modules are loaded only if specified in module list.
+            load_module = True if not module.__name__.startswith('_') \
+                                  and (not self.modules \
+                                       or module.__name__ in self.modules \
+                                       or 'all' in self.modules) \
+                               else False
+
+            load_underscore = True if module.__name__.startswith('_') \
+                                      and module.__name__ in self.modules \
+                                   else False
+
+            if load_module or load_underscore:
                 return super(OETestLoader, self).loadTestsFromModule(
                         module, use_load_tests)
             else:
-- 
2.10.2



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-03-27 20:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-27 20:05 [PATCHv2 0/1] oeqa/core/loader.py: Do not import underscore modules by default mariano.lopez
2017-03-27 20:05 ` [PATCHv2 1/1] " mariano.lopez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox