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
Pierre-Yves Chibon 73d120
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."""
Pierre-Yves Chibon 73d120
Pierre-Yves Chibon 73d120
    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):
Pierre-Yves Chibon 73d120
        stream.write("GIT PERFORMANCE TOTALS:\n")
Pierre-Yves Chibon 73d120
        stream.write("\tWalks: %d\n" % perfrepo.TOTALS["walks"])
Pierre-Yves Chibon 73d120
        stream.write("\tSteps: %d\n" % perfrepo.TOTALS["steps"])