import logging import py.io from _pytest.logging import ColoredLevelFormatter def test_coloredlogformatter(): logfmt = '%(filename)-25s %(lineno)4d %(levelname)-8s %(message)s' record = logging.LogRecord( name='dummy', level=logging.INFO, pathname='dummypath', lineno=10, msg='Test Message', args=(), exc_info=False) class ColorConfig(object): class option(object): pass tw = py.io.TerminalWriter() tw.hasmarkup = True formatter = ColoredLevelFormatter(tw, logfmt) output = formatter.format(record) assert output == ('dummypath 10 ' '\x1b[32mINFO \x1b[0m Test Message') tw.hasmarkup = False formatter = ColoredLevelFormatter(tw, logfmt) output = formatter.format(record) assert output == ('dummypath 10 ' 'INFO Test Message')