Allow pdb debugging in manually-invoked tests.

* The old behavior required setting environment variables to
   disable capture of stdout and stderr to allow debugging via pdb.
   The new behavior requires enabling capture of stdout/stderr
   instead. This is already the case in nova.
 * testr behavior is unmodified.
 * Tip 'o the hat to Robert Collins (lifeless)

Change-Id: Ica021eeab07d5a540ce42436c9cc8000c3fd239a
This commit is contained in:
Maru Newby 2013-04-09 02:33:03 +00:00
parent 893d1d5ecf
commit b502c2f662
2 changed files with 3 additions and 3 deletions

View File

@ -1,4 +1,4 @@
[DEFAULT]
test_command=${PYTHON:-python} -m subunit.run discover -t ./ quantum/tests/unit $LISTOPT $IDOPTION
test_command=OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1 ${PYTHON:-python} -m subunit.run discover -t ./ quantum/tests/unit $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list

View File

@ -50,10 +50,10 @@ class BaseTestCase(testtools.TestCase):
self.addCleanup(CONF.reset)
if os.environ.get('OS_STDOUT_NOCAPTURE') not in TRUE_STRING:
if os.environ.get('OS_STDOUT_CAPTURE') in TRUE_STRING:
stdout = self.useFixture(fixtures.StringStream('stdout')).stream
self.useFixture(fixtures.MonkeyPatch('sys.stdout', stdout))
if os.environ.get('OS_STDERR_NOCAPTURE') not in TRUE_STRING:
if os.environ.get('OS_STDERR_CAPTURE') in TRUE_STRING:
stderr = self.useFixture(fixtures.StringStream('stderr')).stream
self.useFixture(fixtures.MonkeyPatch('sys.stderr', stderr))
self.stubs = stubout.StubOutForTesting()