X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=unittest_utils.py;fp=unittest_utils.py;h=8a0556bb52bd8a0e6a135c3923bc0749bdb167d8;hb=83c1e0d04fe2e78963c8b508e8b7d0ae03bfcb16;hp=2dc8cfe231e5aad03d877fac8116472e0c4b6c3d;hpb=6f132c0342ab7aa438ed88d7c5f987cb52d8ca05;p=python_utils.git diff --git a/unittest_utils.py b/unittest_utils.py index 2dc8cfe..8a0556b 100644 --- a/unittest_utils.py +++ b/unittest_utils.py @@ -148,15 +148,19 @@ def check_all_methods_for_perf_regressions(prefix='test_'): 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: @@ -176,9 +180,13 @@ class RecordStdout(object): 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: @@ -198,12 +206,9 @@ class RecordStderr(object): 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+') @@ -219,3 +224,8 @@ class RecordMultipleStreams(object): for f in self.files: f.write = self.saved_writes.pop() self.destination.seek(0) + + +if __name__ == '__main__': + import doctest + doctest.testmod()