Skip to content

Commit e0e911c

Browse files
committed
tests: fix under pyproject-hooks 1.2
By replacing setuptools with a bare-bones wheel builder.
1 parent a73ecbd commit e0e911c

File tree

4 files changed

+30
-8
lines changed

4 files changed

+30
-8
lines changed

Diff for: tests/packages/test-no-prepare/backend_no_prepare.py

+23-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,25 @@
11
# SPDX-License-Identifier: MIT
22

3-
from setuptools.build_meta import build_sdist as build_sdist
4-
from setuptools.build_meta import build_wheel as build_wheel
3+
4+
def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
5+
import os.path
6+
import zipfile
7+
8+
from build._compat import tomllib
9+
10+
with open('pyproject.toml', 'rb') as f:
11+
metadata = tomllib.load(f)
12+
13+
wheel_basename = f"{metadata['project']['name'].replace('-', '_')}-{metadata['project']['version']}"
14+
with zipfile.ZipFile(os.path.join(wheel_directory, f'{wheel_basename}-py3-none-any.whl'), 'w') as wheel:
15+
wheel.writestr(
16+
f'{wheel_basename}.dist-info/METADATA',
17+
f"""\
18+
Metadata-Version: 2.2
19+
Name: {metadata['project']['name']}
20+
Version: {metadata['project']['version']}
21+
Summary: {metadata['project']['description']}
22+
""",
23+
)
24+
25+
return wheel.filename

Diff for: tests/packages/test-no-prepare/pyproject.toml

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
[build-system]
22
build-backend = 'backend_no_prepare'
33
backend-path = ['.']
4-
requires = ['setuptools >= 42.0.0']
4+
requires = []
5+
6+
[project]
7+
name = "test-no-prepare"
8+
version = "1.0.0"
9+
description = "Test extracting metadata from a backend w/out `prepare_metadata_for_build_wheel` hook"

Diff for: tests/packages/test-no-prepare/setup.cfg

-3
This file was deleted.

Diff for: tests/test_projectbuilder.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -504,8 +504,7 @@ def test_metadata_path_no_prepare(tmp_dir, package_test_no_prepare):
504504
pathlib.Path(builder.metadata_path(tmp_dir)),
505505
).metadata
506506

507-
# Setuptools < v69.0.3 (https://github.com/pypa/setuptools/pull/4159) normalized this to dashes
508-
assert metadata['name'].replace('-', '_') == 'test_no_prepare'
507+
assert metadata['name'] == 'test-no-prepare'
509508
assert metadata['Version'] == '1.0.0'
510509

511510

0 commit comments

Comments
 (0)