aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/core/context.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/core/context.py')
-rw-r--r--meta/lib/oeqa/core/context.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/meta/lib/oeqa/core/context.py b/meta/lib/oeqa/core/context.py
index 422e2899921..acd547416f9 100644
--- a/meta/lib/oeqa/core/context.py
+++ b/meta/lib/oeqa/core/context.py
@@ -41,6 +41,14 @@ class OETestContext(object):
return modules
+ def skipTests(self, skips):
+ if not skips:
+ return
+ for test in self.suites:
+ for skip in skips:
+ if test.id().startswith(skip):
+ setattr(test, 'setUp', lambda: test.skipTest('Skip by the command line argument "%s"' % skip))
+
def loadTests(self, module_paths, modules=[], tests=[],
modules_manifest="", modules_required=[], filters={}):
if modules_manifest:
@@ -50,9 +58,12 @@ class OETestContext(object):
modules_required, filters)
self.suites = self.loader.discover()
- def runTests(self):
+ def runTests(self, skips=[]):
self.runner = self.runnerClass(self, descriptions=False, verbosity=2)
+ # Dinamically skip those tests specified though arguments
+ self.skipTests(skips)
+
self._run_start_time = time.time()
result = self.runner.run(self.suites)
self._run_end_time = time.time()
@@ -128,7 +139,8 @@ class OETestContextExecutor(object):
self.tc_kwargs = {}
self.tc_kwargs['init'] = {}
self.tc_kwargs['load'] = {}
- self.tc_kwargs['run'] = {}
+ self.tc_kwargs['list'] = {}
+ self.tc_kwargs['run'] = {}
self.tc_kwargs['init']['logger'] = self._setup_logger(logger, args)
if args.test_data_file:
@@ -143,6 +155,8 @@ class OETestContextExecutor(object):
else:
self.tc_kwargs['load']['modules'] = []
+ self.tc_kwargs['run']['skips'] = []
+
self.module_paths = args.CASES_PATHS
def _pre_run(self):
@@ -159,7 +173,7 @@ class OETestContextExecutor(object):
sys.exit(1)
if args.list_tests:
- rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['run'])
+ rc = self.tc.listTests(args.list_tests, **self.tc_kwargs['list'])
else:
self._pre_run()
rc = self.tc.runTests(**self.tc_kwargs['run'])