Exemplo n.º 1
0
 def test_setup_requires_with_python_requires(self, monkeypatch, tmpdir):
     ''' Check `python_requires` is honored. '''
     monkeypatch.setenv(str('PIP_RETRIES'), str('0'))
     monkeypatch.setenv(str('PIP_TIMEOUT'), str('0'))
     monkeypatch.setenv(str('PIP_NO_INDEX'), str('1'))
     monkeypatch.setenv(str('PIP_VERBOSE'), str('1'))
     dep_1_0_sdist = 'dep-1.0.tar.gz'
     dep_1_0_url = path_to_url(str(tmpdir / dep_1_0_sdist))
     dep_1_0_python_requires = '>=2.7'
     make_python_requires_sdist(str(tmpdir / dep_1_0_sdist), 'dep', '1.0',
                                dep_1_0_python_requires)
     dep_2_0_sdist = 'dep-2.0.tar.gz'
     dep_2_0_url = path_to_url(str(tmpdir / dep_2_0_sdist))
     dep_2_0_python_requires = '!=' + '.'.join(
         map(str, sys.version_info[:2])) + '.*'
     make_python_requires_sdist(str(tmpdir / dep_2_0_sdist), 'dep', '2.0',
                                dep_2_0_python_requires)
     index = tmpdir / 'index.html'
     index.write_text(
         DALS('''
         <!DOCTYPE html>
         <html><head><title>Links for dep</title></head>
         <body>
             <h1>Links for dep</h1>
             <a href="{dep_1_0_url}" data-requires-python="{dep_1_0_python_requires}">{dep_1_0_sdist}</a><br/>
             <a href="{dep_2_0_url}" data-requires-python="{dep_2_0_python_requires}">{dep_2_0_sdist}</a><br/>
         </body>
         </html>
         ''').format(  # noqa
             dep_1_0_url=dep_1_0_url,
             dep_1_0_sdist=dep_1_0_sdist,
             dep_1_0_python_requires=dep_1_0_python_requires,
             dep_2_0_url=dep_2_0_url,
             dep_2_0_sdist=dep_2_0_sdist,
             dep_2_0_python_requires=dep_2_0_python_requires,
         ),
         'utf-8')
     index_url = path_to_url(str(index))
     with contexts.save_pkg_resources_state():
         test_pkg = create_setup_requires_package(
             str(tmpdir),
             'python-xlib',
             '0.19',  # Ignored (overriden by setup_attrs).
             setup_attrs=dict(setup_requires='dep',
                              dependency_links=[index_url]))
         test_setup_py = os.path.join(test_pkg, 'setup.py')
         run_setup(test_setup_py, [str('--version')])
     eggs = list(
         map(
             str,
             pkg_resources.find_distributions(
                 os.path.join(test_pkg, '.eggs'))))
     assert eggs == ['dep 1.0']
Exemplo n.º 2
0
 def test_setup_requires_with_pep508_url(self, mock_index, monkeypatch):
     monkeypatch.setenv(str('PIP_RETRIES'), str('0'))
     monkeypatch.setenv(str('PIP_TIMEOUT'), str('0'))
     monkeypatch.setenv(str('PIP_INDEX_URL'), mock_index.url)
     with contexts.save_pkg_resources_state():
         with contexts.tempdir() as temp_dir:
             dep_sdist = os.path.join(temp_dir, 'dep.tar.gz')
             make_trivial_sdist(dep_sdist, 'dependency', '42')
             dep_url = path_to_url(dep_sdist, authority='localhost')
             test_pkg = create_setup_requires_package(
                 temp_dir,
                 # Ignored (overriden by setup_attrs)
                 'python-xlib', '0.19',
                 setup_attrs=dict(
                     setup_requires='dependency @ %s' % dep_url))
             test_setup_py = os.path.join(test_pkg, 'setup.py')
             run_setup(test_setup_py, [str('--version')])
     assert len(mock_index.requests) == 0