def breakpoint():
+ """Hard code a breakpoint somewhere; drop into pdb."""
import pdb
pdb.set_trace()
class RecordStdout(object):
"""
- with uu.RecordStdout() as record:
- print("This is a test!")
- print({record().readline()})
+ Record what is emitted to stdout.
+
+ >>> with RecordStdout() as record:
+ ... print("This is a test!")
+ >>> print({record().readline()})
+ {'This is a test!\\n'}
"""
def __init__(self) -> None:
class RecordStderr(object):
"""
- with uu.RecordStderr() as record:
- print("This is a test!", file=sys.stderr)
- print({record().readline()})
+ Record what is emitted to stderr.
+
+ >>> import sys
+ >>> with RecordStderr() as record:
+ ... print("This is a test!", file=sys.stderr)
+ >>> print({record().readline()})
+ {'This is a test!\\n'}
"""
def __init__(self) -> None:
class RecordMultipleStreams(object):
"""
- with uu.RecordStreams(sys.stderr, sys.stdout) as record:
- print("This is a test!")
- print("This is one too.", file=sys.stderr)
-
- print(record().readlines())
+ Record the output to more than one stream.
"""
+
def __init__(self, *files) -> None:
self.files = [*files]
self.destination = tempfile.SpooledTemporaryFile(mode='r+')
for f in self.files:
f.write = self.saved_writes.pop()
self.destination.seek(0)
+
+
+if __name__ == '__main__':
+ import doctest
+ doctest.testmod()