From 299b2659c6c4828f72fa4e7b3fe45792e5ffc0ba Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Mon, 16 May 2016 08:50:17 -0400 Subject: [PATCH] Allow tests to run in verbose mode and multiprocess mode (by turning off TestId mode as needed) --- pavelib/utils/test/suites/nose_suite.py | 30 ++++++++++++++++++++----- setup.cfg | 1 - 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/pavelib/utils/test/suites/nose_suite.py b/pavelib/utils/test/suites/nose_suite.py index 6243fe5c80..bce8ed661b 100644 --- a/pavelib/utils/test/suites/nose_suite.py +++ b/pavelib/utils/test/suites/nose_suite.py @@ -6,6 +6,11 @@ from pavelib.utils.test import utils as test_utils from pavelib.utils.test.suites.suite import TestSuite from pavelib.utils.envs import Env +try: + from pygments.console import colorize +except ImportError: + colorize = lambda color, text: text + __test__ = False # do not collect @@ -33,6 +38,7 @@ class NoseTestSuite(TestSuite): self.test_ids = self.test_id_dir / 'noseids' self.extra_args = kwargs.get('extra_args', '') self.cov_args = kwargs.get('cov_args', '') + self.use_ids = True def __enter__(self): super(NoseTestSuite, self).__enter__() @@ -101,6 +107,9 @@ class NoseTestSuite(TestSuite): if self.pdb: opts += " --pdb" + if self.use_ids: + opts += " --with-id" + return opts @@ -116,19 +125,30 @@ class SystemTestSuite(NoseTestSuite): self.processes = kwargs.get('processes', None) self.randomize = kwargs.get('randomize', None) - def __enter__(self): - super(SystemTestSuite, self).__enter__() - - @property - def cmd(self): if self.processes is None: # Use one process per core for LMS tests, and no multiprocessing # otherwise. self.processes = -1 if self.root == 'lms' else 0 + self.processes = int(self.processes) + if self.randomize is None: self.randomize = self.root == 'lms' + if self.processes != 0 and self.verbosity > 1: + print colorize( + 'red', + "The TestId module and multiprocessing module can't be run " + "together in verbose mode. Disabling TestId for {} tests.".format(self.root) + ) + self.use_ids = False + + def __enter__(self): + super(SystemTestSuite, self).__enter__() + + @property + def cmd(self): + cmd = [ './manage.py', self.root, 'test', '--verbosity={}'.format(self.verbosity), diff --git a/setup.cfg b/setup.cfg index 9569dc4d0a..f302088d4d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,7 +2,6 @@ logging-clear-handlers=1 with-xunitmp=1 with-ignore-docstrings=1 -with-id=1 exclude-dir=lms/envs cms/envs