You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
735 B
32 lines
735 B
import os
|
|
import sys
|
|
|
|
import six
|
|
|
|
|
|
class FakeStdStreams(object):
|
|
"""
|
|
Redirects stdout and stderr to StringIO.
|
|
"""
|
|
def __enter__(self):
|
|
self._orig_stdout = sys.stdout
|
|
self._orig_stderr = sys.stderr
|
|
sys.stdout = six.StringIO()
|
|
sys.stderr = six.StringIO()
|
|
|
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
sys.stdout = self._orig_stdout
|
|
sys.stderr = self._orig_stderr
|
|
|
|
|
|
if os.environ.get('VERBOSE'):
|
|
# Don't disable stdio streams if VERBOSE is on. This is helpful when debugging tests with
|
|
# logging messages or print() calls.
|
|
class DummyFakeStdStreams(object):
|
|
def __enter__(self):
|
|
pass
|
|
|
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
pass
|
|
FakeStdStreams = DummyFakeStdStreams
|