diff --git a/_pytest/__init__.py b/_pytest/__init__.py index a521e0f8a..3f6eb33bd 100644 --- a/_pytest/__init__.py +++ b/_pytest/__init__.py @@ -1,2 +1,2 @@ # -__version__ = '2.7.2' +__version__ = '2.7.3' diff --git a/_pytest/runner.py b/_pytest/runner.py index ad106b4b4..5cee8509f 100644 --- a/_pytest/runner.py +++ b/_pytest/runner.py @@ -1,10 +1,9 @@ """ basic collect and runtest protocol implementations """ import bdb import sys +import re from time import time -from pkg_resources import parse_version - import py import pytest from py._code.code import TerminalRepr @@ -496,7 +495,14 @@ def importorskip(modname, minversion=None): if minversion is None: return mod verattr = getattr(mod, '__version__', None) - if verattr is None or parse_version(verattr) < parse_version(minversion): - skip("module %r has __version__ %r, required is: %r" %( - modname, verattr, minversion)) + if minversion is not None: + try: + from pkg_resources import parse_version as pv + except ImportError: + skip("we have a required version for %r but can not import " + "no pkg_resources to parse version strings." %(modname,)) + if verattr is None or pv(verattr) < pv(minversion): + skip("module %r has __version__ %r, required is: %r" %( + modname, verattr, minversion)) return mod + diff --git a/testing/test_runner.py b/testing/test_runner.py index 167ddc57b..729a02b38 100644 --- a/testing/test_runner.py +++ b/testing/test_runner.py @@ -293,7 +293,7 @@ class TestExecutionForked(BaseFunctionalTests): def getrunner(self): # XXX re-arrange this test to live in pytest-xdist - xplugin = pytest.importorskip("xdist.plugin") + xplugin = pytest.importorskip("xdist.boxed") return xplugin.forked_run_report def test_suicide(self, testdir):