1
1
Fork 0
mirror of https://github.com/pypa/pip synced 2023-12-13 21:30:23 +01:00

Test legacy clean not attempt after PEP 517 build failure

This commit is contained in:
Stéphane Bidoul (ACSONE) 2020-01-01 14:45:30 +01:00
parent ea7bbff713
commit c93acfb20b
No known key found for this signature in database
GPG key ID: BCAB2555446B5B92
3 changed files with 20 additions and 0 deletions

View file

@ -8,6 +8,9 @@ from setuptools.build_meta import (get_requires_for_build_sdist,
def build_wheel(*a, **kw):
if os.environ.get("PIP_TEST_FAIL_BUILD_WHEEL"):
raise RuntimeError("Failing build_wheel, as requested.")
# Create the marker file to record that the hook was called
with open(os.environ['PIP_TEST_MARKER_FILE'], 'wb'):
pass

View file

@ -1256,6 +1256,7 @@ def test_cleanup_after_failed_wheel(script, with_wheel):
shebang = open(script_py, 'r').readline().strip()
assert shebang != '#!python', shebang
# OK, assert that we *said* we were cleaning up:
# /!\ if in need to change this, also change test_pep517_no_legacy_cleanup
assert "Running setup.py clean for wheelbrokenafter" in str(res), str(res)

View file

@ -136,3 +136,19 @@ def test_cleanup_prevented_upon_build_dir_exception(script, data):
assert result.returncode == PREVIOUS_BUILD_DIR_ERROR, str(result)
assert "pip can't proceed" in result.stderr, str(result)
assert exists(build_simple), str(result)
@pytest.mark.network
def test_pep517_no_legacy_cleanup(script, data, with_wheel):
"""Test a PEP 517 failed build does not attempt a legacy cleanup"""
to_install = data.packages.joinpath('pep517_wrapper_buildsys')
script.environ["PIP_TEST_FAIL_BUILD_WHEEL"] = "1"
res = script.pip(
'install', '-f', data.find_links, to_install,
expect_error=True
)
# Must not have built the package
expected = "Failed building wheel for pep517-wrapper-buildsys"
assert expected in str(res)
# Must not have attempted legacy cleanup
assert "setup.py clean" not in str(res)