diff options
author | Akihiro Motoki <motoki@da.jp.nec.com> | 2014-09-29 07:36:19 +0900 |
---|---|---|
committer | Akihiro Motoki <motoki@da.jp.nec.com> | 2015-05-21 08:10:00 +0900 |
commit | 946cf80b750f3735a5d3b0c2173f4eaa7fad4a81 (patch) | |
tree | 75ea4ee81be2c781daa82b85b1aa46cdb9e62783 | |
parent | b72e4467e1332cd441def32328249ace99c21b18 (diff) | |
download | pbr-946cf80b750f3735a5d3b0c2173f4eaa7fad4a81.tar.gz |
Make setup.py --help-commands work without testrepository
testr command is registered by pbr.hooks.commands if
testrepository is installed, so there is no need to
setup the entry point in setup.cfg.
Change-Id: I95aae12d1ac810b6d1d09b71f2a0d87be5ccb6ab
Closes-Bug: #1375048
-rw-r--r-- | pbr/packaging.py | 24 | ||||
-rw-r--r-- | pbr/testr_command.py | 27 |
2 files changed, 33 insertions, 18 deletions
diff --git a/pbr/packaging.py b/pbr/packaging.py index 74d346d..3bc625d 100644 --- a/pbr/packaging.py +++ b/pbr/packaging.py @@ -39,6 +39,7 @@ from pbr import extra_files from pbr import git from pbr import options import pbr.pbr_json +from pbr import testr_command from pbr import version REQUIREMENTS_FILES = ('requirements.txt', 'tools/pip-requires') @@ -170,26 +171,19 @@ class LocalInstall(install.install): return du_install.install.run(self) -try: - from pbr import testr_command - - class TestrTest(testr_command.Testr): - """Make setup.py test do the right thing.""" - - command_name = 'test' - - def run(self): - # Can't use super - base class old-style class - testr_command.Testr.run(self) +class TestrTest(testr_command.Testr): + """Make setup.py test do the right thing.""" - _have_testr = True + command_name = 'test' -except ImportError: - _have_testr = False + def run(self): + # Can't use super - base class old-style class + testr_command.Testr.run(self) def have_testr(): - return _have_testr + return testr_command.have_testr + try: from nose import commands diff --git a/pbr/testr_command.py b/pbr/testr_command.py index 3440f02..141d715 100644 --- a/pbr/testr_command.py +++ b/pbr/testr_command.py @@ -44,12 +44,10 @@ import logging import os import sys -from testrepository import commands - logger = logging.getLogger(__name__) -class Testr(cmd.Command): +class TestrReal(cmd.Command): description = "Run unit tests using testr" @@ -133,3 +131,26 @@ class Testr(cmd.Command): logger.debug("_coverage_after called") os.system("coverage combine") os.system("coverage html -d ./cover %s" % self.omit) + + +class TestrFake(cmd.Command): + description = "Run unit tests using testr" + user_options = [] + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + print("Install testrepository to run 'testr' command properly.") + + +try: + from testrepository import commands + have_testr = True + Testr = TestrReal +except ImportError: + have_testr = False + Testr = TestrFake |