Skip to content

Commit 11ff957

Browse files
authored
Merge pull request #12292 from hauntsaninja/literal-type
Avoid use of 2020-resolver and legacy-resolver
2 parents f6b445b + 666be35 commit 11ff957

11 files changed

+32
-42
lines changed

news/1F54AB69-21F3-49F6-B938-AB16E326F82C.trivial.rst

Whitespace-only changes.

src/pip/_internal/cli/req_command.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ def determine_resolver_variant(options: Values) -> str:
265265
if "legacy-resolver" in options.deprecated_features_enabled:
266266
return "legacy"
267267

268-
return "2020-resolver"
268+
return "resolvelib"
269269

270270
@classmethod
271271
def make_requirement_preparer(
@@ -287,7 +287,7 @@ def make_requirement_preparer(
287287
legacy_resolver = False
288288

289289
resolver_variant = cls.determine_resolver_variant(options)
290-
if resolver_variant == "2020-resolver":
290+
if resolver_variant == "resolvelib":
291291
lazy_wheel = "fast-deps" in options.features_enabled
292292
if lazy_wheel:
293293
logger.warning(
@@ -349,7 +349,7 @@ def make_resolver(
349349
# The long import name and duplicated invocation is needed to convince
350350
# Mypy into correctly typechecking. Otherwise it would complain the
351351
# "Resolver" class being redefined.
352-
if resolver_variant == "2020-resolver":
352+
if resolver_variant == "resolvelib":
353353
import pip._internal.resolution.resolvelib.resolver
354354

355355
return pip._internal.resolution.resolvelib.resolver.Resolver(

src/pip/_internal/commands/install.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ def _warn_about_conflicts(
595595
"source of the following dependency conflicts."
596596
)
597597
else:
598-
assert resolver_variant == "2020-resolver"
598+
assert resolver_variant == "resolvelib"
599599
parts.append(
600600
"pip's dependency resolver does not currently take into account "
601601
"all the packages that are installed. This behaviour is the "
@@ -628,7 +628,7 @@ def _warn_about_conflicts(
628628
requirement=req,
629629
dep_name=dep_name,
630630
dep_version=dep_version,
631-
you=("you" if resolver_variant == "2020-resolver" else "you'll"),
631+
you=("you" if resolver_variant == "resolvelib" else "you'll"),
632632
)
633633
parts.append(message)
634634

tests/conftest.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ def pytest_addoption(parser: Parser) -> None:
7676
parser.addoption(
7777
"--resolver",
7878
action="store",
79-
default="2020-resolver",
80-
choices=["2020-resolver", "legacy"],
79+
default="resolvelib",
80+
choices=["resolvelib", "legacy"],
8181
help="use given resolver in tests",
8282
)
8383
parser.addoption(

tests/functional/test_freeze.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ def test_freeze_nested_vcs(
629629
--extra-index-url http://ignore
630630
--find-links http://ignore
631631
--index-url http://ignore
632-
--use-feature 2020-resolver
632+
--use-feature resolvelib
633633
"""
634634
)
635635

tests/functional/test_install.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1209,9 +1209,9 @@ def test_install_nonlocal_compatible_wheel_path(
12091209
"--no-index",
12101210
"--only-binary=:all:",
12111211
Path(data.packages) / "simplewheel-2.0-py3-fakeabi-fakeplat.whl",
1212-
expect_error=(resolver_variant == "2020-resolver"),
1212+
expect_error=(resolver_variant == "resolvelib"),
12131213
)
1214-
if resolver_variant == "2020-resolver":
1214+
if resolver_variant == "resolvelib":
12151215
assert result.returncode == ERROR
12161216
else:
12171217
assert result.returncode == SUCCESS
@@ -1825,14 +1825,14 @@ def test_install_editable_with_wrong_egg_name(
18251825
"install",
18261826
"--editable",
18271827
f"file://{pkga_path}#egg=pkgb",
1828-
expect_error=(resolver_variant == "2020-resolver"),
1828+
expect_error=(resolver_variant == "resolvelib"),
18291829
)
18301830
assert (
18311831
"Generating metadata for package pkgb produced metadata "
18321832
"for project name pkga. Fix your #egg=pkgb "
18331833
"fragments."
18341834
) in result.stderr
1835-
if resolver_variant == "2020-resolver":
1835+
if resolver_variant == "resolvelib":
18361836
assert "has inconsistent" in result.stdout, str(result)
18371837
else:
18381838
assert "Successfully installed pkga" in str(result), str(result)

tests/functional/test_install_extras.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ def test_install_extra_merging(
242242
expect_error=(fails_on_legacy and resolver_variant == "legacy"),
243243
)
244244

245-
if not fails_on_legacy or resolver_variant == "2020-resolver":
245+
if not fails_on_legacy or resolver_variant == "resolvelib":
246246
expected = f"Successfully installed pkga-0.1 simple-{simple_version}"
247247
assert expected in result.stdout
248248

tests/functional/test_install_reqs.py

+16-22
Original file line numberDiff line numberDiff line change
@@ -392,11 +392,8 @@ def test_constraints_local_editable_install_causes_error(
392392
to_install,
393393
expect_error=True,
394394
)
395-
if resolver_variant == "legacy-resolver":
396-
assert "Could not satisfy constraints" in result.stderr, str(result)
397-
else:
398-
# Because singlemodule only has 0.0.1 available.
399-
assert "Cannot install singlemodule 0.0.1" in result.stderr, str(result)
395+
# Because singlemodule only has 0.0.1 available.
396+
assert "Cannot install singlemodule 0.0.1" in result.stderr, str(result)
400397

401398

402399
@pytest.mark.network
@@ -426,11 +423,8 @@ def test_constraints_local_install_causes_error(
426423
to_install,
427424
expect_error=True,
428425
)
429-
if resolver_variant == "legacy-resolver":
430-
assert "Could not satisfy constraints" in result.stderr, str(result)
431-
else:
432-
# Because singlemodule only has 0.0.1 available.
433-
assert "Cannot install singlemodule 0.0.1" in result.stderr, str(result)
426+
# Because singlemodule only has 0.0.1 available.
427+
assert "Cannot install singlemodule 0.0.1" in result.stderr, str(result)
434428

435429

436430
def test_constraints_constrain_to_local_editable(
@@ -451,9 +445,9 @@ def test_constraints_constrain_to_local_editable(
451445
script.scratch_path / "constraints.txt",
452446
"singlemodule",
453447
allow_stderr_warning=True,
454-
expect_error=(resolver_variant == "2020-resolver"),
448+
expect_error=(resolver_variant == "resolvelib"),
455449
)
456-
if resolver_variant == "2020-resolver":
450+
if resolver_variant == "resolvelib":
457451
assert "Editable requirements are not allowed as constraints" in result.stderr
458452
else:
459453
assert "Running setup.py develop for singlemodule" in result.stdout
@@ -551,9 +545,9 @@ def test_install_with_extras_from_constraints(
551545
script.scratch_path / "constraints.txt",
552546
"LocalExtras",
553547
allow_stderr_warning=True,
554-
expect_error=(resolver_variant == "2020-resolver"),
548+
expect_error=(resolver_variant == "resolvelib"),
555549
)
556-
if resolver_variant == "2020-resolver":
550+
if resolver_variant == "resolvelib":
557551
assert "Constraints cannot have extras" in result.stderr
558552
else:
559553
result.did_create(script.site_packages / "simple")
@@ -589,9 +583,9 @@ def test_install_with_extras_joined(
589583
script.scratch_path / "constraints.txt",
590584
"LocalExtras[baz]",
591585
allow_stderr_warning=True,
592-
expect_error=(resolver_variant == "2020-resolver"),
586+
expect_error=(resolver_variant == "resolvelib"),
593587
)
594-
if resolver_variant == "2020-resolver":
588+
if resolver_variant == "resolvelib":
595589
assert "Constraints cannot have extras" in result.stderr
596590
else:
597591
result.did_create(script.site_packages / "simple")
@@ -610,9 +604,9 @@ def test_install_with_extras_editable_joined(
610604
script.scratch_path / "constraints.txt",
611605
"LocalExtras[baz]",
612606
allow_stderr_warning=True,
613-
expect_error=(resolver_variant == "2020-resolver"),
607+
expect_error=(resolver_variant == "resolvelib"),
614608
)
615-
if resolver_variant == "2020-resolver":
609+
if resolver_variant == "resolvelib":
616610
assert "Editable requirements are not allowed as constraints" in result.stderr
617611
else:
618612
result.did_create(script.site_packages / "simple")
@@ -654,9 +648,9 @@ def test_install_distribution_union_with_constraints(
654648
script.scratch_path / "constraints.txt",
655649
f"{to_install}[baz]",
656650
allow_stderr_warning=True,
657-
expect_error=(resolver_variant == "2020-resolver"),
651+
expect_error=(resolver_variant == "resolvelib"),
658652
)
659-
if resolver_variant == "2020-resolver":
653+
if resolver_variant == "resolvelib":
660654
msg = "Unnamed requirements are not allowed as constraints"
661655
assert msg in result.stderr
662656
else:
@@ -674,9 +668,9 @@ def test_install_distribution_union_with_versions(
674668
result = script.pip_install_local(
675669
f"{to_install_001}[bar]",
676670
f"{to_install_002}[baz]",
677-
expect_error=(resolver_variant == "2020-resolver"),
671+
expect_error=(resolver_variant == "resolvelib"),
678672
)
679-
if resolver_variant == "2020-resolver":
673+
if resolver_variant == "resolvelib":
680674
assert "Cannot install localextras[bar]" in result.stderr
681675
assert ("localextras[bar] 0.0.1 depends on localextras 0.0.1") in result.stdout
682676
assert ("localextras[baz] 0.0.2 depends on localextras 0.0.2") in result.stdout

tests/functional/test_install_upgrade.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def test_upgrade_with_newest_already_installed(
172172
"install", "--upgrade", "-f", data.find_links, "--no-index", "simple"
173173
)
174174
assert not result.files_created, "simple upgraded when it should not have"
175-
if resolver_variant == "2020-resolver":
175+
if resolver_variant == "resolvelib":
176176
msg = "Requirement already satisfied"
177177
else:
178178
msg = "already up-to-date"

tests/lib/__init__.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,7 @@
4646
# Literal was introduced in Python 3.8.
4747
from typing import Literal
4848

49-
ResolverVariant = Literal[
50-
"resolvelib", "legacy", "2020-resolver", "legacy-resolver"
51-
]
49+
ResolverVariant = Literal["resolvelib", "legacy"]
5250
else:
5351
ResolverVariant = str
5452

tests/unit/test_req_file.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -471,9 +471,7 @@ def test_use_feature_with_error(
471471
) -> None:
472472
"""--use-feature triggers error when parsing requirements files."""
473473
with pytest.raises(RequirementsFileParseError):
474-
line_processor(
475-
"--use-feature=2020-resolver", "filename", 1, options=options
476-
)
474+
line_processor("--use-feature=resolvelib", "filename", 1, options=options)
477475

478476
def test_relative_local_find_links(
479477
self,

0 commit comments

Comments
 (0)