Commit 869c6348 authored by Floris Lambrechts's avatar Floris Lambrechts Committed by Paul Ganssle

Add test for pre-existing wheels in build_meta

Currently, this will fail because setuptools.build_meta.build_wheel
assumes that no wheels already exist in the `dist/` directory.

See GH #1671
parent 7be2d14d
......@@ -157,6 +157,44 @@ class TestBuildMetaBackend:
assert os.path.isfile(os.path.join(dist_dir, wheel_name))
@pytest.mark.xfail(reason="Known error, see GH #1671")
def test_build_wheel_with_existing_wheel_file_present(self, tmpdir_cwd):
# Building a wheel should still succeed if there's already a wheel
# in the wheel directory
files = {
'setup.py': "from setuptools import setup\nsetup()",
'VERSION': "0.0.1",
'setup.cfg': DALS("""
[metadata]
name = foo
version = file: VERSION
"""),
'pyproject.toml': DALS("""
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta
"""),
}
build_files(files)
dist_dir = os.path.abspath('pip-wheel-preexisting')
os.makedirs(dist_dir)
# make first wheel
build_backend = self.get_build_backend()
wheel_one = build_backend.build_wheel(dist_dir)
# change version
with open("VERSION", "wt") as version_file:
version_file.write("0.0.2")
# make *second* wheel
wheel_two = self.get_build_backend().build_wheel(dist_dir)
assert os.path.isfile(os.path.join(dist_dir, wheel_one))
assert wheel_one != wheel_two
def test_build_sdist(self, build_backend):
dist_dir = os.path.abspath('pip-sdist')
os.makedirs(dist_dir)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment