Merge branch 'maxk-fix-empty-requires'

This commit is contained in:
Dan Ryan
2018-06-22 02:06:09 -04:00
3 changed files with 19 additions and 2 deletions
+1
View File
@@ -0,0 +1 @@
Massive internal improvements to requirements parsing codebase, resolver, and error messaging.
+8 -2
View File
@@ -1889,13 +1889,19 @@ def do_install(
# Capture -e argument and assign it to following package_name.
more_packages = list(more_packages)
if package_name == '-e':
if not more_packages:
raise click.BadArgumentUsage('Please provide path to editable package')
package_name = ' '.join([package_name, more_packages.pop(0)])
# capture indexes and extra indexes
line = [package_name] + more_packages
line = ' '.join(str(s) for s in line).strip()
index_indicators = ['-i', '--index', '--extra-index-url']
index, extra_indexes = None, None
if more_packages and any(more_packages[0].startswith(s) for s in index_indicators):
line, index = split_argument(' '.join(line), short='i', long_='index', num=1)
if any(line.endswith(s) for s in index_indicators):
# check if cli option is not end of command
raise click.BadArgumentUsage('Please provide index value')
if any(s in line for s in index_indicators):
line, index = split_argument(line, short='i', long_='index', num=1)
line, extra_indexes = split_argument(line, long_='extra-index-url')
package_names = line.split()
package_name = package_names[0]
+10
View File
@@ -299,3 +299,13 @@ name = 'mockpi'
assert c.return_code == 0
assert p.pipfile['source'][0]['url'] == '${PYPI_URL}/simple'
assert p.lockfile['_meta']['sources'][0]['url'] == '${PYPI_URL}/simple'
@pytest.mark.editable
@pytest.mark.badparameter
@pytest.mark.install
def test_editable_no_args(PipenvInstance):
with PipenvInstance() as p:
c = p.pipenv('install -e')
assert c.return_code != 0
assert 'Please provide path to editable package' in c.err