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
Pierre-Yves Chibon 67d1cc
from __future__ import unicode_literals, absolute_import
Aurélien Bompard dcf6f6
Patrick Uiterwijk 969b90
import logging
Patrick Uiterwijk 969b90
import os
Patrick Uiterwijk 969b90
Patrick Uiterwijk 969b90
from nose.plugins import Plugin
Patrick Uiterwijk 969b90
Pierre-Yves Chibon f6b9f6
import 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'])