Exemplo n.º 1
0
    def test_unicode_messages_handled(self):
        msg = u'Ivan Krsti\u0107'
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args([])
        c.configure(options, Config())
        c.start()
        log = logging.getLogger("foobar.something")
        log.debug(msg)
        log.debug("ordinary string log")
        c.end()

        class Dummy:
            pass
        test = Dummy() 
        try:
            raise Exception(msg)
        except:
            err = sys.exc_info()
        (ec, ev, tb) = c.formatError(test, err)
        print ev
        if UNICODE_STRINGS:
            assert msg in ev
        else:
            assert msg.encode('utf-8') in ev
Exemplo n.º 2
0
    def test_unicode_messages_handled(self):
        msg = u'Ivan Krsti\u0107'
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args([])
        c.configure(options, Config())
        c.start()
        log = logging.getLogger("foobar.something")
        log.debug(msg)
        log.debug("ordinary string log")
        c.end()

        class Dummy:
            pass

        test = Dummy()
        try:
            raise Exception(msg)
        except:
            err = sys.exc_info()
        (ec, ev, tb) = c.formatError(test, err)
        print ev
        if UNICODE_STRINGS:
            assert msg in ev
        else:
            assert msg.encode('utf-8') in ev
Exemplo n.º 3
0
    def test_clears_all_existing_log_handlers(self):
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args(['--logging-clear-handlers'])
        c.configure(options, Config())
        eq_(c.clear, True)

        def mktest():
            class TC(unittest.TestCase):
                def runTest(self):
                    pass
            test = TC()
            return test

        logging.getLogger().addHandler(StreamHandler(sys.stdout))
        log = logging.getLogger("dummy")
        log.addHandler(StreamHandler(sys.stdout))

        c.start()
        c.beforeTest(mktest())
        c.end()

        if py27:
            expect = ["<class 'nose.plugins.logcapture.MyMemoryHandler'>"]
        else:
            expect = ['nose.plugins.logcapture.MyMemoryHandler']
        eq_([str(c.__class__) for c in logging.getLogger().handlers],
            expect)
        eq_([str(c.__class__) for c in logging.getLogger("dummy").handlers],
            [])
Exemplo n.º 4
0
    def test_clears_all_existing_log_handlers(self):
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args(['--logging-clear-handlers'])
        c.configure(options, Config())
        eq_(c.clear, True)

        def mktest():
            class TC(unittest.TestCase):
                def runTest(self):
                    pass

            test = TC()
            return test

        logging.getLogger().addHandler(StreamHandler(sys.stdout))
        log = logging.getLogger("dummy")
        log.addHandler(StreamHandler(sys.stdout))

        c.start()
        c.beforeTest(mktest())
        c.end()

        if py27:
            expect = ["<class 'nose.plugins.logcapture.MyMemoryHandler'>"]
        else:
            expect = ['nose.plugins.logcapture.MyMemoryHandler']
        eq_([str(c.__class__) for c in logging.getLogger().handlers], expect)
        eq_([str(c.__class__) for c in logging.getLogger("dummy").handlers],
            [])
Exemplo n.º 5
0
    def test_get_logger(self):
        lc = LogCapture()
        lc.begin()
        logger = log.get_logger()
        logger.debug('test-debug')
        logger.info('test-info')
        lc.end()

        self.assertEquals("giftwrap: INFO: test-info", lc.handler.buffer[0])
Exemplo n.º 6
0
 def test_custom_formatter(self):
     c = LogCapture()
     c.logformat = '++%(message)s++'
     c.start()
     log = logging.getLogger("foobar.something")
     log.debug("Hello")
     c.end()
     records = c.formatLogRecords()
     eq_(1, len(records))
     eq_("++Hello++", records[0])
Exemplo n.º 7
0
    def test_get_logger(self):
        lc = LogCapture()
        lc.begin()
        logger = logging.getLogger('giftwrap')
        logger.setLevel(logging.INFO)
        logger.debug('test-debug')
        logger.info('test-info')
        lc.end()

        self.assertEqual("giftwrap: INFO: test-info", lc.handler.buffer[0])
Exemplo n.º 8
0
    def test_get_logger(self):
        lc = LogCapture()
        lc.begin()
        logger = logging.getLogger("giftwrap")
        logger.setLevel(logging.INFO)
        logger.debug("test-debug")
        logger.info("test-info")
        lc.end()

        self.assertEqual("giftwrap: INFO: test-info", lc.handler.buffer[0])
Exemplo n.º 9
0
 def test_custom_formatter(self):
     c = LogCapture()
     c.logformat = '++%(message)s++'
     c.start()
     log = logging.getLogger("foobar.something")
     log.debug("Hello")
     c.end()
     records = c.formatLogRecords()
     eq_(1, len(records))
     eq_("++Hello++", records[0])
Exemplo n.º 10
0
    def test_get_logger_debug(self):
        lc = LogCapture()
        lc.begin()
        logger = logging.getLogger('giftwrap')
        logger.setLevel(logging.DEBUG)
        logger.info('test-info')
        logger.debug('test-debug')
        lc.end()

        self.assertEquals("giftwrap: INFO: test-info", lc.handler.buffer[0])
        self.assertEquals("giftwrap: DEBUG: test-debug", lc.handler.buffer[1])
Exemplo n.º 11
0
 def test_captures_logging(self):
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, {})
     options, args = parser.parse_args([])
     c.configure(options, Config())
     c.start()
     log = logging.getLogger("foobar.something")
     log.debug("Hello")
     c.end()
     eq_(1, len(c.handler.buffer))
     eq_("foobar.something: DEBUG: Hello", c.handler.buffer[0])
Exemplo n.º 12
0
 def test_captures_logging(self):
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, {})
     options, args = parser.parse_args([])
     c.configure(options, Config())
     c.start()
     log = logging.getLogger("foobar.something")
     log.debug("Hello")
     c.end()
     eq_(1, len(c.handler.buffer))
     eq_("Hello", c.handler.buffer[0].msg)
Exemplo n.º 13
0
 def test_loglevel(self):
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, {})
     options, args = parser.parse_args(['--logging-level', 'INFO'])
     c.configure(options, Config())
     c.start()
     log = logging.getLogger("loglevel")
     log.debug("Hello")
     log.info("Goodbye")
     c.end()
     records = c.formatLogRecords()
     eq_(1, len(c.handler.buffer))
     eq_("loglevel: INFO: Goodbye", c.handler.buffer[0])
     eq_("loglevel: INFO: Goodbye", records[0])
Exemplo n.º 14
0
 def test_loglevel(self):
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, {})
     options, args = parser.parse_args(['--logging-level', 'INFO'])
     c.configure(options, Config())
     c.start()
     log = logging.getLogger("loglevel")
     log.debug("Hello")
     log.info("Goodbye")
     c.end()
     records = c.formatLogRecords()
     eq_(1, len(c.handler.buffer))
     eq_("Goodbye", c.handler.buffer[0].msg)
     eq_("loglevel: INFO: Goodbye", records[0])
Exemplo n.º 15
0
def test_logging():
    c = LogCapture()
    parser = OptionParser()
    c.addOptions(parser, {})
    logger = klogger.get_logger("foo")
    logger = klogger.get_module_logger(__name__)
    c.start()

    logger.info("Goodbye")

    c.end()
    records = c.formatLogRecords()
    eq_("Goodbye", c.handler.buffer[0].msg)
    eq_("test.helpers.klogger_test", c.handler.buffer[0].name)
    eq_("test.helpers.klogger_test: INFO: Goodbye", records[0])
Exemplo n.º 16
0
 def test_consistent_mutables(self):
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser)
     c.start()
     log = logging.getLogger("mutable")
     mutable = { 'value': 1 }
     log.debug("%r", mutable)
     repr_1 = repr(mutable)
     mutable['value'] = 2
     log.debug("%r", mutable)
     repr_2 = repr(mutable)
     c.end()
     records = c.formatLogRecords()
     eq_("mutable: DEBUG: %s" % (repr_1,), records[0])
     eq_("mutable: DEBUG: %s" % (repr_2,), records[1])
Exemplo n.º 17
0
 def test_consistent_mutables(self):
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser)
     c.start()
     log = logging.getLogger("mutable")
     mutable = { 'value': 1 }
     log.debug("%r", mutable)
     repr_1 = repr(mutable)
     mutable['value'] = 2
     log.debug("%r", mutable)
     repr_2 = repr(mutable)
     c.end()
     records = c.formatLogRecords()
     eq_("mutable: DEBUG: %s" % (repr_1,), records[0])
     eq_("mutable: DEBUG: %s" % (repr_2,), records[1])
Exemplo n.º 18
0
 def test_logging_filter_exclude_and_include(self):
     env = {'NOSE_LOGFILTER': 'foo,-foo.bar'}
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, env)
     options, args = parser.parse_args(['foo'])
     print options, args
     c.configure(options, Config())
     c.start()
     for name in ['foo.yes', 'foo.bar', 'foo.bar.no', 'blah']:
         log = logging.getLogger(name)
         log.info("Hello %s" % name)
     c.end()
     records = c.formatLogRecords()
     eq_(1, len(records))
     assert records[0].startswith('foo.yes:'), records[0]
Exemplo n.º 19
0
 def test_logging_filter_exclude_and_include(self):
     env = {'NOSE_LOGFILTER': 'foo,-foo.bar'}
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, env)
     options, args = parser.parse_args(['foo'])
     print options, args
     c.configure(options, Config())
     c.start()
     for name in ['foo.yes', 'foo.bar', 'foo.bar.no', 'blah']:
         log = logging.getLogger(name)
         log.info("Hello %s" % name)
     c.end()
     records = c.formatLogRecords()
     eq_(1, len(records))
     assert records[0].startswith('foo.yes:'), records[0]
Exemplo n.º 20
0
    def test_non_propagating_loggers_handled(self):
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args([])
        c.configure(options, Config())

        logger = logging.getLogger('foo.yes')
        logger.propagate = False

        c.start()
        logger.debug("test message")
        c.end()

        records = c.formatLogRecords()
        eq_(1, len(records))
        assert records[0].startswith('foo.yes:'), records[0]
Exemplo n.º 21
0
    def test_non_propagating_loggers_handled(self):
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args([])
        c.configure(options, Config())

        logger = logging.getLogger('foo.yes')
        logger.propagate = False

        c.start()
        logger.debug("test message")
        c.end()

        records = c.formatLogRecords()
        eq_(1, len(records))
        assert records[0].startswith('foo.yes:'), records[0]
Exemplo n.º 22
0
 def test_logging_filter_exclude(self):
     env = {'NOSE_LOGFILTER': '-foo,-bar'}
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, env)
     options, args = parser.parse_args(['foo'])
     print options, args
     c.configure(options, Config())
     c.start()
     for name in ['foobar.something', 'foo', 'foo.x', 'abara', 'bar.quux']:
         log = logging.getLogger(name)
         log.info("Hello %s" % name)
     c.end()
     records = c.formatLogRecords()
     eq_(2, len(records))
     assert records[0].startswith('foobar.something:'), records[0]
     assert records[1].startswith('abara:'), records[1]
Exemplo n.º 23
0
 def test_logging_filter_exclude(self):
     env = {'NOSE_LOGFILTER': '-foo,-bar'}
     c = LogCapture()
     parser = OptionParser()
     c.addOptions(parser, env)
     options, args = parser.parse_args(['foo'])
     print options, args
     c.configure(options, Config())
     c.start()
     for name in ['foobar.something', 'foo', 'foo.x', 'abara', 'bar.quux']:
         log = logging.getLogger(name)
         log.info("Hello %s" % name)
     c.end()
     records = c.formatLogRecords()
     eq_(2, len(records))
     assert records[0].startswith('foobar.something:'), records[0]
     assert records[1].startswith('abara:'), records[1]
Exemplo n.º 24
0
 def test_builtin_logging_filtering(self):
     c = LogCapture()
     c.logformat = '++%(message)s++'
     c.start()
     log = logging.getLogger("foobar.something")
     filtered = []
     class filter(object):
         def filter(record):
             filtered.append(record)
             return len(filtered) == 1
         filter = staticmethod(filter)
     c.handler.addFilter(filter)
     log.debug("Hello")
     log.debug("World")
     c.end()
     eq_(2, len(filtered))
     records = c.formatLogRecords()
     eq_(1, len(records))
     eq_("++Hello++", records[0])
Exemplo n.º 25
0
    def test_capture_data(self):
        c = LogCapture()
        parser = OptionParser()
        c.addOptions(parser, {})
        options, args = parser.parse_args([])
        c.configure(options, Config())
        c.start()

        def mktest():
            class TC(unittest.TestCase):
                def runTest(self):
                    pass
            test = TC()
            return test
        test = mktest()

        c.beforeTest(test)

        assert hasattr(test, 'logCaptureData')
        eq_(test.logCaptureData.isFinished(), False)
        eq_(test.logCaptureData.getText(), "")

        log = logging.getLogger("foobar.something")
        log.debug("ordinary string log")

        eq_(test.logCaptureData.getText(),
                "foobar.something: DEBUG: ordinary string log")
        eq_(len(test.logCaptureData.getRecords()), 1)
        eq_(test.logCaptureData.isFinished(), False)

        c.afterTest(test)
        
        eq_(test.logCaptureData.isFinished(), True)

        log.debug("NOT PRESENT")

        eq_(test.logCaptureData.getText(),
                "foobar.something: DEBUG: ordinary string log")
        eq_(len(test.logCaptureData.getRecords()), 1)
        eq_(test.logCaptureData._handler, None) # eh. whitebox.

        c.end()