mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 22:50:18 +00:00
Pass lock options to outdated
This commit is contained in:
@@ -0,0 +1 @@
|
||||
Pass ``--pre`` and ``--clear`` options to ``pipenv update --outdated``.
|
||||
@@ -484,7 +484,7 @@ def update(
|
||||
if not outdated:
|
||||
outdated = bool(dry_run)
|
||||
if outdated:
|
||||
do_outdated(pypi_mirror=state.pypi_mirror)
|
||||
do_outdated(clear=state.clear, pre=state.installstate.pre, pypi_mirror=state.pypi_mirror)
|
||||
packages = [p for p in state.installstate.packages if p]
|
||||
editable = [p for p in state.installstate.editables if p]
|
||||
if not packages:
|
||||
|
||||
+2
-3
@@ -1767,12 +1767,11 @@ def do_py(system=False):
|
||||
click.echo(crayons.red("No project found!"))
|
||||
|
||||
|
||||
def do_outdated(pypi_mirror=None):
|
||||
def do_outdated(pypi_mirror=None, pre=False, clear=False):
|
||||
# TODO: Allow --skip-lock here?
|
||||
from .vendor.requirementslib.models.requirements import Requirement
|
||||
from .vendor.requirementslib.models.utils import get_version
|
||||
from .vendor.packaging.utils import canonicalize_name
|
||||
from .vendor.vistir.compat import Mapping
|
||||
from collections import namedtuple
|
||||
|
||||
packages = {}
|
||||
@@ -1789,7 +1788,7 @@ def do_outdated(pypi_mirror=None):
|
||||
dep = Requirement.from_line(str(result.as_requirement()))
|
||||
packages.update(dep.as_pipfile())
|
||||
updated_packages = {}
|
||||
lockfile = do_lock(write=False, pypi_mirror=pypi_mirror)
|
||||
lockfile = do_lock(clear=clear, pre=pre, write=False, pypi_mirror=pypi_mirror)
|
||||
for section in ("develop", "default"):
|
||||
for package in lockfile[section]:
|
||||
try:
|
||||
|
||||
@@ -265,3 +265,16 @@ def test_pipenv_three(PipenvInstance):
|
||||
c = p.pipenv('--three')
|
||||
assert c.return_code == 0
|
||||
assert 'Successfully created virtual environment' in c.err
|
||||
|
||||
|
||||
@pytest.mark.outdated
|
||||
def test_pipenv_outdated_prerelease(PipenvInstance):
|
||||
with PipenvInstance(chdir=True) as p:
|
||||
with open(p.pipfile_path, "w") as f:
|
||||
contents = """
|
||||
[packages]
|
||||
sqlalchemy = "==1.2.0b3"
|
||||
""".strip()
|
||||
f.write(contents)
|
||||
c = p.pipenv('update --pre --outdated')
|
||||
assert c.return_code == 0
|
||||
|
||||
@@ -7,7 +7,6 @@ import pytest
|
||||
from flaky import flaky
|
||||
|
||||
from pipenv._compat import Path, TemporaryDirectory
|
||||
from pipenv.project import Project
|
||||
from pipenv.utils import temp_environ
|
||||
from pipenv.vendor import delegator
|
||||
|
||||
@@ -475,3 +474,13 @@ extras = ["socks"]
|
||||
assert 'six = {version = "*"}' in contents
|
||||
assert 'requests = {version = "*"' in contents
|
||||
assert 'plette = "*"' in contents
|
||||
|
||||
|
||||
@pytest.mark.install
|
||||
def test_install_prerelease(PipenvInstance):
|
||||
with PipenvInstance(chdir=True) as p:
|
||||
c = p.pipenv("install sqlalchemy==1.2.0b3")
|
||||
assert c.return_code != 0
|
||||
c = p.pipenv("install --pre sqlalchemy==1.2.0b3")
|
||||
assert c.return_code == 0
|
||||
assert p.lockfile["default"]["sqlalchemy"]["version"] == "1.2.0b3"
|
||||
|
||||
Reference in New Issue
Block a user