From 16720b96b4e3eeeed232afbdf87b6bed78fa7806 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 15 Sep 2015 12:17:52 +0200 Subject: [PATCH 1/2] fix a few issues with pytest-2.7 branch and bump version number - importorskip: skip a test if we have a minversion but cannot parse version numbers due to pkg_resources not present - make runner tests work with latest xdist --- _pytest/__init__.py | 2 +- _pytest/runner.py | 16 +++++++++++----- testing/test_runner.py | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) 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): From 5af262daa399842c8b03d8a287f8ee32174b0cc3 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 15 Sep 2015 12:28:09 +0200 Subject: [PATCH 2/2] fix flakes problem, configure devpi upload to always upload wheels and sdist --- _pytest/runner.py | 1 - setup.cfg | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/_pytest/runner.py b/_pytest/runner.py index 5cee8509f..32be7dbed 100644 --- a/_pytest/runner.py +++ b/_pytest/runner.py @@ -1,7 +1,6 @@ """ basic collect and runtest protocol implementations """ import bdb import sys -import re from time import time import py diff --git a/setup.cfg b/setup.cfg index 770dd1fb2..e9aecb776 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,3 +8,7 @@ upload-dir = doc/en/build/html [bdist_wheel] universal = 1 + +[devpi:upload] +formats=sdist.tgz,bdist_wheel +