Blame utils/perfplugin.py

Patrick Uiterwijk 969b90
# -*- coding: utf-8 -*-
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
"""
Patrick Uiterwijk 969b90
 (c) 2017 - Copyright Red Hat Inc
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
 Authors:
Patrick Uiterwijk 969b90
   Patrick Uiterwijk <puiterwijk@redhat.com></puiterwijk@redhat.com>
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
"""
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
import logging
Patrick Uiterwijk 969b90
import os
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
from nose.plugins import Plugin
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
import pagure.perfrepo as perfrepo
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
log = logging.getLogger('nose.plugins.perfplugin')
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
class PerfPlugin(Plugin):
Patrick Uiterwijk 969b90
    """A plugin for Nose that reports back on the test performance."""
Patrick Uiterwijk 969b90
    name = 'pagureperf'
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
    def options(self, parser, env=None):
Patrick Uiterwijk 969b90
        if env is None:
Patrick Uiterwijk 969b90
            env = os.environ
Patrick Uiterwijk 969b90
        super(PerfPlugin, self).options(parser, env=env)
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
    def configure(self, options, conf):
Patrick Uiterwijk 969b90
        super(PerfPlugin, self).configure(options, conf)
Patrick Uiterwijk 969b90
        if not self.enabled:
Patrick Uiterwijk 969b90
            return
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
    def report(self, stream):
Patrick Uiterwijk 969b90
        stream.write('GIT PERFORMANCE TOTALS:\n')
Patrick Uiterwijk 969b90
        stream.write('\tWalks: %d\n' % perfrepo.TOTALS['walks'])
Patrick Uiterwijk 969b90
        stream.write('\tSteps: %d\n' % perfrepo.TOTALS['steps'])