Skip to content

Commit

Permalink
Merge "pbr/testr_command.py: Add logging"
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins authored and openstack-gerrit committed May 9, 2014
2 parents 007f4ee + 54d1191 commit adb0d20
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions pbr/testr_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,14 @@

from distutils import cmd
import distutils.errors
import logging
import os
import sys

from testrepository import commands

logger = logging.getLogger(__name__)


class Testr(cmd.Command):

Expand All @@ -58,11 +61,13 @@ class Testr(cmd.Command):
('coverage-package-name=', None, "Use this name for coverage package"),
('slowest', None, "Show slowest test times after tests complete."),
('no-parallel', None, "Run testr serially"),
('log-level=', 'l', "Log level (default: info)"),
]

boolean_options = ['coverage', 'slowest', 'no_parallel']

def _run_testr(self, *args):
logger.debug("_run_testr called with args = %r", args)
return commands.run_argv([sys.argv[0]] + list(args),
sys.stdin, sys.stdout, sys.stderr)

Expand All @@ -73,17 +78,26 @@ def initialize_options(self):
self.slowest = None
self.coverage_package_name = None
self.no_parallel = None
self.log_level = 'info'

def finalize_options(self):
self.log_level = getattr(
logging,
self.log_level.upper(),
logging.INFO)
logging.basicConfig(level=self.log_level)
logger.debug("finalize_options called")
if self.testr_args is None:
self.testr_args = []
else:
self.testr_args = self.testr_args.split()
if self.omit:
self.omit = "--omit=%s" % self.omit
logger.debug("finalize_options: self.__dict__ = %r", self.__dict__)

def run(self):
"""Set up testr repo, then run testr"""
logger.debug("run called")
if not os.path.isdir(".testrepository"):
self._run_testr("init")

Expand All @@ -103,6 +117,7 @@ def run(self):
self._coverage_after()

def _coverage_before(self):
logger.debug("_coverage_before called")
package = self.distribution.get_name()
if package.startswith('python-'):
package = package[7:]
Expand All @@ -112,7 +127,9 @@ def _coverage_before(self):
package = self.coverage_package_name
options = "--source %s --parallel-mode" % self.coverage_package_name
os.environ['PYTHON'] = ("coverage run %s" % options)
logger.debug("os.environ['PYTHON'] = %r", os.environ['PYTHON'])

def _coverage_after(self):
logger.debug("_coverage_after called")
os.system("coverage combine")
os.system("coverage html -d ./cover %s" % self.omit)

0 comments on commit adb0d20

Please sign in to comment.