Hello community,

here is the log from the commit of package python-pytest-runner for 
openSUSE:Factory checked in at 2017-09-29 11:49:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-runner (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-runner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-runner"

Fri Sep 29 11:49:39 2017 rev:9 rq:528800 version:2.12.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-pytest-runner/python-pytest-runner.changes    
    2017-03-09 01:46:48.428177201 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-runner.new/python-pytest-runner.changes
   2017-09-29 11:49:43.558694009 +0200
@@ -1,0 +2,12 @@
+Tue Sep 26 05:22:40 UTC 2017 - [email protected]
+
+- update to version 2.12.1:
+  * #32: Fix support for dependency_links.
+
+- changes from version 2.12:
+  * #30: Rework support for --allow-hosts and --index-url, removing
+    dependence on setuptools.Distribution's private
+    member. Additionally corrects logic in marker evaluation along
+    with unit tests!
+
+-------------------------------------------------------------------

Old:
----
  pytest-runner-2.11.1.tar.gz

New:
----
  pytest-runner-2.12.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-runner.spec ++++++
--- /var/tmp/diff_new_pack.zGAwrP/_old  2017-09-29 11:49:44.862510147 +0200
+++ /var/tmp/diff_new_pack.zGAwrP/_new  2017-09-29 11:49:44.862510147 +0200
@@ -15,20 +15,21 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pytest-runner
-Version:        2.11.1
+Version:        2.12.1
 Release:        0
 Summary:        Simple powerful testing with Python
 License:        MIT
 Group:          Development/Languages/Python
 Url:            http://pytest.org
 Source:         
https://files.pythonhosted.org/packages/source/p/pytest-runner/pytest-runner-%{version}.tar.gz
-BuildRequires:  python-rpm-macros
 BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module pytest >= 2.8}
-BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module setuptools_scm >= 1.9}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  python-rpm-macros
 Requires:       python-pytest >= 2.8
 Requires:       python-setuptools_scm >= 1.9
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ pytest-runner-2.11.1.tar.gz -> pytest-runner-2.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/.readthedocs.yml 
new/pytest-runner-2.12.1/.readthedocs.yml
--- old/pytest-runner-2.11.1/.readthedocs.yml   1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-runner-2.12.1/.readthedocs.yml   2017-09-07 03:59:33.000000000 
+0200
@@ -0,0 +1,5 @@
+python:
+  version: 3
+  extra_requirements:
+    - docs
+  pip_install: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/CHANGES.rst 
new/pytest-runner-2.12.1/CHANGES.rst
--- old/pytest-runner-2.11.1/CHANGES.rst        2017-02-08 23:01:52.000000000 
+0100
+++ new/pytest-runner-2.12.1/CHANGES.rst        2017-09-07 03:59:33.000000000 
+0200
@@ -1,3 +1,17 @@
+2.12.1
+~~~~~~
+
+* #32: Fix support for ``dependency_links``.
+
+2.12
+~~~~
+
+* #30: Rework support for ``--allow-hosts`` and
+  ``--index-url``, removing dependence on
+  ``setuptools.Distribution``'s private member.
+  Additionally corrects logic in marker evaluation
+  along with unit tests!
+
 2.11.1
 ~~~~~~
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/PKG-INFO 
new/pytest-runner-2.12.1/PKG-INFO
--- old/pytest-runner-2.11.1/PKG-INFO   2017-02-08 23:02:15.000000000 +0100
+++ new/pytest-runner-2.12.1/PKG-INFO   2017-09-07 04:03:18.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: pytest-runner
-Version: 2.11.1
+Version: 2.12.1
 Summary: Invoke py.test as distutils command with dependency resolution
 Home-page: https://github.com/pytest-dev/pytest-runner
 Author: Jason R. Coombs
@@ -133,3 +133,4 @@
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Framework :: Pytest
+Requires-Python: >=2.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/appveyor.yml 
new/pytest-runner-2.12.1/appveyor.yml
--- old/pytest-runner-2.11.1/appveyor.yml       1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-runner-2.12.1/appveyor.yml       2017-09-07 03:59:33.000000000 
+0200
@@ -0,0 +1,21 @@
+environment:
+
+  APPVEYOR: true
+
+  matrix:
+    - PYTHON: "C:\\Python36-x64"
+    - PYTHON: "C:\\Python27-x64"
+
+install:
+  # symlink python from a directory with a space
+  - "mklink /d \"C:\\Program Files\\Python\" %PYTHON%"
+  - "SET PYTHON=\"C:\\Program Files\\Python\""
+  - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
+
+build: off
+
+test_script:
+  - "python -m pip install tox"
+  - "tox"
+
+version: '{build}'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/docs/conf.py 
new/pytest-runner-2.12.1/docs/conf.py
--- old/pytest-runner-2.11.1/docs/conf.py       2017-02-08 23:01:52.000000000 
+0100
+++ new/pytest-runner-2.12.1/docs/conf.py       2017-09-07 03:59:33.000000000 
+0200
@@ -1,54 +1,36 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 
-import os
-import sys
-import subprocess
-
-if 'check_output' not in dir(subprocess):
-       import subprocess32 as subprocess
-
 extensions = [
     'sphinx.ext.autodoc',
+    'jaraco.packaging.sphinx',
     'rst.linker',
 ]
 
-# General information about the project.
-
-root = os.path.join(os.path.dirname(__file__), '..')
-setup_script = os.path.join(root, 'setup.py')
-fields = ['--name', '--version', '--url', '--author']
-dist_info_cmd = [sys.executable, setup_script] + fields
-output_bytes = subprocess.check_output(dist_info_cmd, cwd=root)
-project, version, url, author = 
output_bytes.decode('utf-8').strip().split('\n')
-
-copyright = '2015-2017 ' + author
-
-# The full version, including alpha/beta/rc tags.
-release = version
-
 master_doc = 'index'
 
 link_files = {
        '../CHANGES.rst': dict(
                using=dict(
                        GH='https://github.com',
-                       project=project,
-                       url=url,
                ),
                replace=[
                        dict(
-                               pattern=r"(Issue )?#(?P<issue>\d+)",
-                               url='{url}/issues/{issue}',
+                               pattern=r'(Issue )?#(?P<issue>\d+)',
+                               url='{package_url}/issues/{issue}',
                        ),
                        dict(
-                               
pattern=r"^(?m)((?P<scm_version>v?\d+(\.\d+){1,2}))\n[-=]+\n",
-                               with_scm="{text}\n{rev[timestamp]:%d %b %Y}\n",
+                               
pattern=r'^(?m)((?P<scm_version>v?\d+(\.\d+){1,2}))\n[-=]+\n',
+                               with_scm='{text}\n{rev[timestamp]:%d %b %Y}\n',
                        ),
                        dict(
-                               pattern=r"PEP[- ](?P<pep_number>\d+)",
+                               pattern=r'PEP[- ](?P<pep_number>\d+)',
                                
url='https://www.python.org/dev/peps/pep-{pep_number:0>4}/',
                        ),
+                       dict(
+                               pattern=r'Setuptools 
#(?P<setuptools_issue>\d+)',
+                               
url='https://github.com/pypa/setuptools/issues/{setuptools_issue}/',
+                       ),
                ],
        ),
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/docs/requirements.txt 
new/pytest-runner-2.12.1/docs/requirements.txt
--- old/pytest-runner-2.11.1/docs/requirements.txt      2017-02-08 
23:01:52.000000000 +0100
+++ new/pytest-runner-2.12.1/docs/requirements.txt      1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-rst.linker
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/ptr.py 
new/pytest-runner-2.12.1/ptr.py
--- old/pytest-runner-2.11.1/ptr.py     2017-02-08 23:01:52.000000000 +0100
+++ new/pytest-runner-2.12.1/ptr.py     2017-09-07 03:59:33.000000000 +0200
@@ -17,6 +17,7 @@
 
 import pkg_resources
 import setuptools.command.test as orig
+from setuptools import Distribution
 
 
 @_contextlib.contextmanager
@@ -35,6 +36,46 @@
        yield
 
 
+class CustomizedDist(Distribution):
+
+       allow_hosts = None
+       index_url = None
+
+       def fetch_build_egg(self, req):
+               """ Specialized version of Distribution.fetch_build_egg
+               that respects respects allow_hosts and index_url. """
+               from setuptools.command.easy_install import easy_install
+               dist = Distribution({'script_args': ['easy_install']})
+               dist.parse_config_files()
+               opts = dist.get_option_dict('easy_install')
+               keep = (
+                       'find_links', 'site_dirs', 'index_url', 'optimize',
+                       'site_dirs', 'allow_hosts'
+               )
+               for key in list(opts):
+                       if key not in keep:
+                               del opts[key]  # don't use any other settings
+               if self.dependency_links:
+                       links = self.dependency_links[:]
+                       if 'find_links' in opts:
+                               links = opts['find_links'][1].split() + links
+                       opts['find_links'] = ('setup', links)
+               if self.allow_hosts:
+                       opts['allow_hosts'] = ('test', self.allow_hosts)
+               if self.index_url:
+                       opts['index_url'] = ('test', self.index_url)
+               install_dir_func = getattr(self, 'get_egg_cache_dir', 
_os.getcwd)
+               install_dir = install_dir_func()
+               cmd = easy_install(
+                       dist, args=["x"], install_dir=install_dir,
+                       exclude_scripts=True,
+                       always_copy=False, build_directory=None, editable=False,
+                       upgrade=False, multi_version=True, no_report=True, 
user=False
+               )
+               cmd.ensure_finalized()
+               return cmd.easy_install(req)
+
+
 class PyTest(orig.test):
        """
        >>> import setuptools
@@ -69,8 +110,8 @@
                and matches this environment.
                """
                return (
-                       marker
-                       and not pkg_resources.invalid_marker(marker)
+                       not marker
+                       or not pkg_resources.invalid_marker(marker)
                        and pkg_resources.evaluate_marker(marker)
                )
 
@@ -104,10 +145,10 @@
                matching_extras = (
                        reqs
                        for (name, sep, marker), reqs in spec_extras
-                       # never include extras that fail to pass marker eval
-                       if self.marker_passes(marker)
                        # include unnamed extras or all if self.extras indicated
-                       and (not name or self.extras)
+                       if (not name or self.extras)
+                       # never include extras that fail to pass marker eval
+                       and self.marker_passes(marker)
                )
                results = list(map(dist.fetch_build_eggs, matching_extras))
                return _itertools.chain.from_iterable(results)
@@ -129,11 +170,15 @@
                        return null()
 
        def _super_run(self):
-               if hasattr(orig.test, 'install_dists'):
-                       return orig.test.run(self)
-
-               # for backward compatibility with setuptools < 27.3
-               installed_dists = self.install_dists(self.distribution)
+               dist = CustomizedDist()
+               for attr in 'allow_hosts index_url'.split():
+                       setattr(dist, attr, getattr(self, attr))
+               for attr in (
+                       'dependency_links install_requires '
+                       'tests_require extras_require '
+               ).split():
+                       setattr(dist, attr, getattr(self.distribution, attr))
+               installed_dists = self.install_dists(dist)
                if self.dry_run:
                        self.announce('skipping tests (dry run)')
                        return
@@ -146,47 +191,11 @@
                Override run to ensure requirements are available in this 
session (but
                don't install them anywhere).
                """
-               self._build_egg_fetcher()
                self._super_run()
                if self.result_code:
                        raise SystemExit(self.result_code)
                return self.result_code
 
-       def _build_egg_fetcher(self):
-               """Build an egg fetcher that respects index_url and 
allow_hosts"""
-               # modified from setuptools.dist:Distribution.fetch_build_egg
-               from setuptools.command.easy_install import easy_install
-               main_dist = self.distribution
-               # construct a fake distribution to store the args for 
easy_install
-               dist = main_dist.__class__({'script_args': ['easy_install']})
-               dist.parse_config_files()
-               opts = dist.get_option_dict('easy_install')
-               keep = (
-                       'find_links', 'site_dirs', 'index_url', 'optimize',
-                       'site_dirs', 'allow_hosts'
-               )
-               for key in list(opts.keys()):
-                       if key not in keep:
-                               del opts[key]   # don't use any other settings
-               if main_dist.dependency_links:
-                       links = main_dist.dependency_links[:]
-                       if 'find_links' in opts:
-                               links = opts['find_links'][1].split() + links
-                       opts['find_links'] = ('setup', links)
-               if self.allow_hosts:
-                       opts['allow_hosts'] = ('test', self.allow_hosts)
-               if self.index_url:
-                       opts['index_url'] = ('test', self.index_url)
-               install_dir_func = getattr(dist, 'get_egg_cache_dir', 
_os.getcwd)
-               install_dir = install_dir_func()
-               cmd = easy_install(
-                       dist, args=["x"], install_dir=install_dir, 
exclude_scripts=True,
-                       always_copy=False, build_directory=None, editable=False,
-                       upgrade=False, multi_version=True, no_report = True
-               )
-               cmd.ensure_finalized()
-               main_dist._egg_fetcher = cmd
-
        @property
        def _argv(self):
                return ['pytest'] + self.addopts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/pytest_runner.egg-info/PKG-INFO 
new/pytest-runner-2.12.1/pytest_runner.egg-info/PKG-INFO
--- old/pytest-runner-2.11.1/pytest_runner.egg-info/PKG-INFO    2017-02-08 
23:02:15.000000000 +0100
+++ new/pytest-runner-2.12.1/pytest_runner.egg-info/PKG-INFO    2017-09-07 
04:03:18.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: pytest-runner
-Version: 2.11.1
+Version: 2.12.1
 Summary: Invoke py.test as distutils command with dependency resolution
 Home-page: https://github.com/pytest-dev/pytest-runner
 Author: Jason R. Coombs
@@ -133,3 +133,4 @@
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Framework :: Pytest
+Requires-Python: >=2.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-runner-2.11.1/pytest_runner.egg-info/SOURCES.txt 
new/pytest-runner-2.12.1/pytest_runner.egg-info/SOURCES.txt
--- old/pytest-runner-2.11.1/pytest_runner.egg-info/SOURCES.txt 2017-02-08 
23:02:15.000000000 +0100
+++ new/pytest-runner-2.12.1/pytest_runner.egg-info/SOURCES.txt 2017-09-07 
04:03:18.000000000 +0200
@@ -1,7 +1,9 @@
+.readthedocs.yml
 .travis.yml
 CHANGES.rst
 LICENSE
 README.rst
+appveyor.yml
 ptr.py
 pytest.ini
 setup.cfg
@@ -10,11 +12,11 @@
 docs/conf.py
 docs/history.rst
 docs/index.rst
-docs/requirements.txt
 pytest_runner.egg-info/PKG-INFO
 pytest_runner.egg-info/SOURCES.txt
 pytest_runner.egg-info/dependency_links.txt
 pytest_runner.egg-info/entry_points.txt
 pytest_runner.egg-info/namespace_packages.txt
+pytest_runner.egg-info/requires.txt
 pytest_runner.egg-info/top_level.txt
-tests/requirements.txt
\ No newline at end of file
+tests/test_ptr.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-runner-2.11.1/pytest_runner.egg-info/requires.txt 
new/pytest-runner-2.12.1/pytest_runner.egg-info/requires.txt
--- old/pytest-runner-2.11.1/pytest_runner.egg-info/requires.txt        
1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-runner-2.12.1/pytest_runner.egg-info/requires.txt        
2017-09-07 04:03:18.000000000 +0200
@@ -0,0 +1,13 @@
+
+[docs]
+sphinx
+jaraco.packaging>=3.2
+rst.linker>=1.9
+
+[testing]
+pytest>=2.8
+pytest-sugar
+pytest-virtualenv
+
+[testing:python_version=="2.6"]
+importlib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/setup.cfg 
new/pytest-runner-2.12.1/setup.cfg
--- old/pytest-runner-2.11.1/setup.cfg  2017-02-08 23:02:15.000000000 +0100
+++ new/pytest-runner-2.12.1/setup.cfg  2017-09-07 04:03:18.000000000 +0200
@@ -2,11 +2,10 @@
 release = dists upload
 dists = clean --all sdist bdist_wheel
 
-[wheel]
+[bdist_wheel]
 universal = 1
 
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/setup.py 
new/pytest-runner-2.12.1/setup.py
--- old/pytest-runner-2.11.1/setup.py   2017-02-08 23:01:52.000000000 +0100
+++ new/pytest-runner-2.12.1/setup.py   2017-09-07 03:59:33.000000000 +0200
@@ -11,6 +11,11 @@
 
 name = 'pytest-runner'
 description = 'Invoke py.test as distutils command with dependency resolution'
+nspkg_technique = 'native'
+"""
+Does this package use "native" namespace packages or
+pkg_resources "managed" namespace packages?
+"""
 
 params = dict(
        name=name,
@@ -20,11 +25,29 @@
        description=description or name,
        long_description=long_description,
        url="https://github.com/pytest-dev/"; + name,
-       namespace_packages=name.split('.')[:-1],
+       namespace_packages=(
+               name.split('.')[:-1] if nspkg_technique == 'managed'
+               else []
+       ),
        py_modules=['ptr'],
+       python_requires='>=2.6',
        install_requires=[
        ],
        extras_require={
+               'testing': [
+                       'pytest>=2.8',
+                       'pytest-sugar',
+                       'pytest-virtualenv',
+               ],
+               'testing:python_version=="2.6"': [
+                       # undeclared dependency of pytest-virtualenv
+                       'importlib',
+               ],
+               'docs': [
+                       'sphinx',
+                       'jaraco.packaging>=3.2',
+                       'rst.linker>=1.9',
+               ],
        },
        setup_requires=[
                'setuptools_scm>=1.15.0',
@@ -38,7 +61,7 @@
                "Programming Language :: Python :: 3",
                "Framework :: Pytest",
        ],
-       entry_points = {
+       entry_points={
                'distutils.commands': [
                        'ptr = ptr:PyTest',
                        'pytest = ptr:PyTest',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/tests/requirements.txt 
new/pytest-runner-2.12.1/tests/requirements.txt
--- old/pytest-runner-2.11.1/tests/requirements.txt     2017-02-08 
23:01:52.000000000 +0100
+++ new/pytest-runner-2.12.1/tests/requirements.txt     1970-01-01 
01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-pytest >= 2.8
-subprocess32; python_version=="2.6"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/tests/test_ptr.py 
new/pytest-runner-2.12.1/tests/test_ptr.py
--- old/pytest-runner-2.11.1/tests/test_ptr.py  1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-runner-2.12.1/tests/test_ptr.py  2017-09-07 03:59:33.000000000 
+0200
@@ -0,0 +1,169 @@
+from __future__ import unicode_literals
+
+import contextlib
+import io
+import os
+import shutil
+import sys
+import tarfile
+import textwrap
+import time
+
+import pytest
+
+
+def DALS(s):
+    "dedent and left-strip"
+    return textwrap.dedent(s).lstrip()
+
+
+def _tarfile_open_ex(*args, **kwargs):
+    """
+    Extend result as a context manager.
+    """
+    return contextlib.closing(tarfile.open(*args, **kwargs))
+
+
+if sys.version_info[:2] < (2, 7) or (3, 0) <= sys.version_info[:2] < (3, 2):
+    tarfile_open = _tarfile_open_ex
+else:
+    tarfile_open = tarfile.open
+
+
+def make_sdist(dist_path, files):
+    """
+    Create a simple sdist tarball at dist_path, containing the files
+    listed in ``files`` as ``(filename, content)`` tuples.
+    """
+
+    with tarfile_open(dist_path, 'w:gz') as dist:
+        for filename, content in files:
+            file_bytes = io.BytesIO(content.encode('utf-8'))
+            file_info = tarfile.TarInfo(name=filename)
+            file_info.size = len(file_bytes.getvalue())
+            file_info.mtime = int(time.time())
+            dist.addfile(file_info, fileobj=file_bytes)
+
+
[email protected]
+def venv(virtualenv):
+    yield virtualenv
+    # Workaround virtualenv not cleaning itself as it should...
+    virtualenv.delete = True
+    virtualenv.teardown()
+
+
[email protected]('setuptools_req, test_args', (
+    ('setuptools==27.2.0', ''),
+    ('setuptools==27.2.0', '--extras'),
+    ('setuptools==27.3.0', ''),
+    ('setuptools==27.3.0', '--extras'),
+    ('setuptools==32.3.1', ''),
+    ('setuptools==32.3.1', '--extras'),
+    ('setuptools==36.3.0', ''),
+    ('setuptools==36.3.0', '--extras'),
+    ('setuptools'        , ''),
+    ('setuptools'        , '--extras'),
+))
+def test_egg_fetcher(venv, setuptools_req, test_args):
+    test_args = test_args.split()
+    # Install pytest & pytest-runner.
+    venv.run('python setup.py develop', cwd=os.getcwd())
+    venv.run('pip install pytest')
+    # Install setuptools version.
+    venv.run('pip install -U'.split() + [setuptools_req])
+    # For debugging purposes.
+    venv.run('pip freeze --all')
+    # Prepare fake index.
+    index_dir = (venv.workspace / 'index').mkdir()
+    for n in range(5):
+        dist_name = 'barbazquux' + str(n + 1)
+        dist_version = '0.1'
+        dist_sdist = '%s-%s.tar.gz' % (dist_name, dist_version)
+        dist_dir = (index_dir / dist_name).mkdir()
+        make_sdist(dist_dir / dist_sdist, (
+            ('setup.py', textwrap.dedent(
+                '''
+                from setuptools import setup
+                setup(
+                    name={dist_name!r},
+                    version={dist_version!r},
+                    py_modules=[{dist_name!r}],
+                )
+                '''
+            ).format(dist_name=dist_name, dist_version=dist_version)),
+            (dist_name + '.py', ''),
+        ))
+        with (dist_dir / 'index.html').open('w') as fp:
+            fp.write(DALS(
+                '''
+                <!DOCTYPE html><html><body>
+                <a href="{dist_sdist}" rel="internal">{dist_sdist}</a><br/>
+                </body></html>
+                '''
+            ).format(dist_sdist=dist_sdist))
+    # Move barbazquux1 out of the index.
+    shutil.move(index_dir / 'barbazquux1', venv.workspace)
+    barbazquux1_link = (
+        'file://' + str(venv.workspace.abspath())
+        + '/barbazquux1/barbazquux1-0.1.tar.gz'
+        + '#egg=barbazquux1-0.1'
+    )
+    # Prepare fake project.
+    project_dir = (venv.workspace / 'project-0.1').mkdir()
+    with open(project_dir / 'setup.py', 'w') as fp:
+        fp.write(DALS(
+            '''
+            from setuptools import setup
+            setup(
+                name='project',
+                version='0.1',
+                dependency_links = [
+                    {barbazquux1_link!r},
+                ],
+                setup_requires=[
+                    'pytest-runner',
+                ],
+                install_requires=[
+                    'barbazquux1',
+                ],
+                tests_require=[
+                    'pytest',
+                    'barbazquux2',
+                ],
+                extras_require={{
+                    ':"{sys_platform}" in sys_platform': 'barbazquux3',
+                    ':"barbazquux" in sys_platform': 'barbazquux4',
+                    'extra': 'barbazquux5',
+                }}
+            )
+            ''').format(sys_platform=sys.platform,
+                        barbazquux1_link=barbazquux1_link))
+    with open(project_dir / 'setup.cfg', 'w') as fp:
+        fp.write(DALS(
+            '''
+            [easy_install]
+            index_url = .
+            '''))
+    with open(project_dir / 'test_stuff.py', 'w') as fp:
+        fp.write(DALS(
+            '''
+            import pytest
+
+            def test_stuff():
+                import barbazquux1
+                import barbazquux2
+                import barbazquux3
+                with pytest.raises(ImportError):
+                    import barbazquux4
+                if {importable_barbazquux5}:
+                    import barbazquux5
+                else:
+                    with pytest.raises(ImportError):
+                        import barbazquux5
+            ''').format(importable_barbazquux5=('--extras' in test_args)))
+    # Run fake project tests.
+    cmd = 'python setup.py pytest'.split()
+    cmd += ['--index-url=' + index_dir.abspath()]
+    cmd += test_args
+    venv.run(cmd, cwd=project_dir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-runner-2.11.1/tox.ini 
new/pytest-runner-2.12.1/tox.ini
--- old/pytest-runner-2.11.1/tox.ini    2017-02-08 23:01:52.000000000 +0100
+++ new/pytest-runner-2.12.1/tox.ini    2017-09-07 03:59:33.000000000 +0200
@@ -1,6 +1,7 @@
-[testenv]
-deps =
-       -rtests/requirements.txt
+[tox]
+minversion = 2.4
 
+[testenv]
 commands = py.test {posargs}
 usedevelop = True
+extras = testing


Reply via email to