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.
gristlabs_grist-core/sandbox/grist/fake_std_streams.py

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