diff --git a/.testr.conf b/.testr.conf index fd9442349bdf..1036ba0ca0ed 100644 --- a/.testr.conf +++ b/.testr.conf @@ -1,4 +1,4 @@ [DEFAULT] -test_command=${PYTHON:-python} -m subunit.run discover -t ./ ./nova/tests $LISTOPT $IDOPTION +test_command=OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 OS_TEST_TIMEOUT=60 ${PYTHON:-python} -m subunit.run discover -t ./ ./nova/tests $LISTOPT $IDOPTION test_id_option=--load-list $IDFILE test_list_option=--list diff --git a/nova/test.py b/nova/test.py index fd9c4a522d34..3fc25b12f647 100644 --- a/nova/test.py +++ b/nova/test.py @@ -191,17 +191,23 @@ class TestCase(testtools.TestCase): def setUp(self): """Run before each test method to initialize test environment.""" super(TestCase, self).setUp() - # Give each test a maximum of one minute to run. - self.useFixture(fixtures.Timeout(60, gentle=True)) + test_timeout = os.environ.get('OS_TEST_TIMEOUT', 0) + try: + test_timeout = int(test_timeout) + except ValueError: + # If timeout value is invalid do not set a timeout. + test_timeout = 0 + if test_timeout > 0: + self.useFixture(fixtures.Timeout(test_timeout, gentle=True)) self.useFixture(fixtures.NestedTempfile()) self.useFixture(fixtures.TempHomeDir()) - if (os.environ.get('OS_STDOUT_NOCAPTURE') != 'True' and - os.environ.get('OS_STDOUT_NOCAPTURE') != '1'): + if (os.environ.get('OS_STDOUT_CAPTURE') == 'True' or + os.environ.get('OS_STDOUT_CAPTURE') == '1'): stdout = self.useFixture(fixtures.StringStream('stdout')).stream self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout)) - if (os.environ.get('OS_STDERR_NOCAPTURE') != 'True' and - os.environ.get('OS_STDERR_NOCAPTURE') != '1'): + if (os.environ.get('OS_STDERR_CAPTURE') == 'True' or + os.environ.get('OS_STDERR_CAPTURE') == '1'): stderr = self.useFixture(fixtures.StringStream('stderr')).stream self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr)) diff --git a/run_tests.sh b/run_tests.sh index a3ed978035bb..a34cab5a0f29 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -59,8 +59,6 @@ recreate_db=1 LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C -OS_STDOUT_NOCAPTURE=False -OS_STDERR_NOCAPTURE=False for arg in "$@"; do process_option $arg diff --git a/tox.ini b/tox.ini index 4fa567518b18..a3e44630f8a5 100644 --- a/tox.ini +++ b/tox.ini @@ -6,9 +6,6 @@ setenv = VIRTUAL_ENV={envdir} LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=C - OS_STDOUT_NOCAPTURE=False - OS_STDERR_NOCAPTURE=False - deps = -r{toxinidir}/tools/pip-requires -r{toxinidir}/tools/test-requires commands = bash -c 'if [ ! -d ./.testrepository ] ; then testr init ; fi'