123456789101112131415161718192021222324252627282930 |
- # vim: set fileencoding=utf-8 :
- import sys
- from contextlib import contextmanager
- from six import StringIO
- class StderrCapture(StringIO):
- def save(self):
- self.safed = sys.stderr
- sys.stderr = self
- def restore(self):
- if self.safed is not None:
- sys.stderr = self.safed
- self.safed = None
- def output(self):
- self.seek(0)
- return self.read()
- @contextmanager
- def capture_stderr():
- """Capture an output and return its content"""
- c = StderrCapture()
- c.save()
- yield c
- c.restore()
|