Skip to content

Commit e399b12

Browse files
authored
Merge pull request #2 from sbidoul/use-feature-test
Percolate --use-feature from req file upwards
2 parents 7a3c802 + 38fe3c2 commit e399b12

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

src/pip/_internal/req/req_file.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,18 @@ def handle_option_line(
225225
):
226226
# type: (...) -> None
227227

228-
# percolate hash-checking option upward
229-
if options and opts.require_hashes:
230-
options.require_hashes = opts.require_hashes
228+
if options:
229+
# percolate options upward
230+
if opts.require_hashes:
231+
options.require_hashes = opts.require_hashes
232+
if opts.features_enabled:
233+
options.features_enabled.extend(
234+
f for f in opts.features_enabled
235+
if f not in options.features_enabled
236+
)
231237

232238
# set finder options
233-
elif finder:
239+
if finder:
234240
find_links = finder.find_links
235241
index_urls = finder.index_urls
236242
if opts.index_url:

tests/unit/test_req_file.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ def options(session):
4747
isolated_mode=False,
4848
index_url='default_url',
4949
format_control=FormatControl(set(), set()),
50+
features_enabled=[],
5051
)
5152

5253

@@ -382,9 +383,12 @@ def test_set_finder_allow_all_prereleases(self, line_processor, finder):
382383
line_processor("--pre", "file", 1, finder=finder)
383384
assert finder.allow_all_prereleases
384385

385-
def test_use_feature(self, line_processor):
386+
def test_use_feature(self, line_processor, options):
386387
"""--use-feature can be set in requirements files."""
387-
line_processor("--use-feature=2020-resolver", "filename", 1)
388+
line_processor(
389+
"--use-feature=2020-resolver", "filename", 1, options=options
390+
)
391+
assert "2020-resolver" in options.features_enabled
388392

389393
def test_relative_local_find_links(
390394
self, line_processor, finder, monkeypatch, tmpdir

0 commit comments

Comments
 (0)