[Pytest-commit] commit/tox: obestwalter: Merged in nakatoio/tox (pull request #190)
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Mon Jun 20 09:22:21 EDT 2016
1 new commit in tox:
https://bitbucket.org/hpk42/tox/commits/c07a95573512/
Changeset: c07a95573512
User: obestwalter
Date: 2016-06-20 13:22:16+00:00
Summary: Merged in nakatoio/tox (pull request #190)
Process minversion before all else
Affected #: 4 files
diff -r 62c553e32ce9e20de98d035721ce3f5313903ea6 -r c07a9557351251619b76cbefb9622fcdf9377ca6 tests/test_config.py
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -1440,8 +1440,8 @@
[tox]
minversion = 3.0
"""
- config = newconfig([], inisource)
- assert config.minversion == "3.0"
+ with py.test.raises(tox.exception.MinVersionError):
+ config = newconfig([], inisource)
def test_skip_missing_interpreters_true(self, tmpdir, newconfig, monkeypatch):
inisource = """
diff -r 62c553e32ce9e20de98d035721ce3f5313903ea6 -r c07a9557351251619b76cbefb9622fcdf9377ca6 tox/__init__.py
--- a/tox/__init__.py
+++ b/tox/__init__.py
@@ -23,5 +23,11 @@
""" a directory did not exist. """
class MissingDependency(Error):
""" a dependency could not be found or determined. """
+ class MinVersionError(Error):
+ """ the installed tox version is lower than requested minversion. """
+
+ def __init__(self, message):
+ self.message = message
+ super(exception.MinVersionError, self).__init__(message)
from tox.session import main as cmdline # noqa
diff -r 62c553e32ce9e20de98d035721ce3f5313903ea6 -r c07a9557351251619b76cbefb9622fcdf9377ca6 tox/config.py
--- a/tox/config.py
+++ b/tox/config.py
@@ -12,6 +12,7 @@
import tox.interpreters
from tox import hookspecs
+from tox._verlib import NormalizedVersion
import py
@@ -664,8 +665,18 @@
reader.addsubstitutions(toxinidir=config.toxinidir,
homedir=config.homedir)
+ # As older versions of tox may have bugs or incompatabilities that
+ # prevent parsing of tox.ini this must be the first thing checked.
+ config.minversion = reader.getstring("minversion", None)
+ # Parse our compatability immediately
+ if config.minversion:
+ minversion = NormalizedVersion(self.config.minversion)
+ toxversion = NormalizedVersion(tox.__version__)
+ if toxversion < minversion:
+ raise tox.exception.MinVersionError(
+ "tox version is %s, required is at least %s" % (
+ toxversion, minversion))
config.toxworkdir = reader.getpath("toxworkdir", "{toxinidir}/.tox")
- config.minversion = reader.getstring("minversion", None)
if not config.option.skip_missing_interpreters:
config.option.skip_missing_interpreters = \
diff -r 62c553e32ce9e20de98d035721ce3f5313903ea6 -r c07a9557351251619b76cbefb9622fcdf9377ca6 tox/session.py
--- a/tox/session.py
+++ b/tox/session.py
@@ -40,6 +40,10 @@
raise SystemExit(retcode)
except KeyboardInterrupt:
raise SystemExit(2)
+ except tox.exception.MinVersionError as e:
+ r = Reporter(None)
+ r.error(e.message)
+ raise SystemExit(1)
def show_help(config):
@@ -233,6 +237,12 @@
self._reportedlines = []
# self.cumulated_time = 0.0
+ def _get_verbosity(self):
+ if self.session:
+ return self.session.config.option.verbosity
+ else:
+ return 2
+
def logpopen(self, popen, env):
""" log information about the action.popen() created process. """
cmd = " ".join(map(str, popen.args))
@@ -257,11 +267,11 @@
self.tw.sep("_", "summary")
def info(self, msg):
- if self.session.config.option.verbosity >= 2:
+ if self._get_verbosity() >= 2:
self.logline(msg)
def using(self, msg):
- if self.session.config.option.verbosity >= 1:
+ if self._get_verbosity() >= 1:
self.logline("using %s" % (msg,), bold=True)
def keyboard_interrupt(self):
@@ -297,15 +307,15 @@
self.tw.line("%s" % msg, **opts)
def verbosity0(self, msg, **opts):
- if self.session.config.option.verbosity >= 0:
+ if self._get_verbosity() >= 0:
self.logline("%s" % msg, **opts)
def verbosity1(self, msg, **opts):
- if self.session.config.option.verbosity >= 1:
+ if self._get_verbosity() >= 1:
self.logline("%s" % msg, **opts)
def verbosity2(self, msg, **opts):
- if self.session.config.option.verbosity >= 2:
+ if self._get_verbosity() >= 2:
self.logline("%s" % msg, **opts)
# def log(self, msg):
@@ -359,14 +369,6 @@
def runcommand(self):
self.report.using("tox-%s from %s" % (tox.__version__, tox.__file__))
- if self.config.minversion:
- minversion = NormalizedVersion(self.config.minversion)
- toxversion = NormalizedVersion(tox.__version__)
- if toxversion < minversion:
- self.report.error(
- "tox version is %s, required is at least %s" % (
- toxversion, minversion))
- raise SystemExit(1)
if self.config.option.showconfig:
self.showconfig()
elif self.config.option.listenvs:
Repository URL: https://bitbucket.org/hpk42/tox/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the pytest-commit
mailing list