def test_log_no_extra_line_break(): """ Confirm that multiple `.write()` consumers doesn't result in additional '\n's per write """ consumer1 = StringIO() consumer2 = StringIO() logger = Logger() logger.add_consumers((logger.NOTIFY, consumer1), (logger.NOTIFY, consumer2)) logger.notify("one line") # splitlines(True) will detect empty line-breaks assert 1 == len(consumer1.getvalue().splitlines(True)) assert 1 == len(consumer2.getvalue().splitlines(True))
def test_log_no_extra_line_break(): """ Confirm that multiple `.write()` consumers doesn't result in additional '\n's per write """ consumer1 = StringIO() consumer2 = StringIO() logger = Logger() logger.add_consumers( (logger.NOTIFY, consumer1), (logger.NOTIFY, consumer2) ) logger.notify("one line") # splitlines(True) will detect empty line-breaks assert 1 == len(consumer1.getvalue().splitlines(True)) assert 1 == len(consumer2.getvalue().splitlines(True))
def format_exc(exc_info=None): if exc_info is None: exc_info = sys.exc_info() out = StringIO() traceback.print_exception(*exc_info, **dict(file=out)) return out.getvalue()