Viewing log output while tests are still running can be useful for
debugging, but log output was previously always captured. This
change ensures that log capture is off by default, but can still
be enabled by setting OS_LOG_CAPTURE=1 in the shell environment.
testr invocation is unchanged and will continue to capture logs by
default.
Change-Id: I9d0fb648541280cacfebb47f67f608378ae66ef3
[DEFAULT]
-test_command=OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 ${PYTHON:-python} -m subunit.run discover -t ./ neutron/tests/unit $LISTOPT $IDOPTION
+test_command=OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 OS_LOG_CAPTURE=1 ${PYTHON:-python} -m subunit.run discover -t ./ neutron/tests/unit $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list
_level = logging.DEBUG
else:
_level = logging.INFO
- self.useFixture(fixtures.FakeLogger(format=LOG_FORMAT, level=_level))
+ capture_logs = os.environ.get('OS_LOG_CAPTURE') in TRUE_STRING
+ if not capture_logs:
+ logging.basicConfig(format=LOG_FORMAT, level=_level)
+ self.log_fixture = self.useFixture(
+ fixtures.FakeLogger(
+ format=LOG_FORMAT,
+ level=_level,
+ nuke_handlers=capture_logs,
+ ))
test_timeout = int(os.environ.get('OS_TEST_TIMEOUT', 0))
if test_timeout == -1: