fix: address Python release review feedback

This commit is contained in:
Yichen Jiang
2026-08-11 20:09:33 +08:00
parent bc51510a77
commit 49768e1f8d
30 changed files with 318 additions and 92 deletions
@@ -0,0 +1,37 @@
"""Tests for macOS runtime wheel deployment-target validation."""
from __future__ import annotations
import runpy
from pathlib import Path
from types import SimpleNamespace
import pytest
ROOT = Path(__file__).resolve().parents[3]
SCRIPT = ROOT / "scripts" / "check-macos-deployment-target.py"
checker = SimpleNamespace(**runpy.run_path(str(SCRIPT)))
def test_otool_parser_uses_the_newest_macho_slice() -> None:
output = """
cmd LC_BUILD_VERSION
minos 11.0
cmd LC_BUILD_VERSION
minos 13.5
"""
assert checker.parse_otool_deployment_target(output) == (13, 5)
def test_otool_parser_requires_a_deployment_target() -> None:
with pytest.raises(ValueError, match="contains no LC_BUILD_VERSION"):
checker.parse_otool_deployment_target("Load command 0\n")
def test_wheel_tag_rejects_a_newer_executable_target() -> None:
checker.ensure_compatible(Path("runtime"), (13, 5), "macosx_14_0_arm64")
with pytest.raises(RuntimeError, match="requires macOS 14.1"):
checker.ensure_compatible(Path("spawn-helper"), (14, 1), "macosx_14_0_arm64")
+11
View File
@@ -61,6 +61,14 @@ def test_macos_wheel_tag_does_not_claim_unsupported_node_platforms() -> None:
assert build_python_release.PLATFORMS["macos-arm64"][0] == "macosx_14_0_arm64"
def test_platform_manifest_rejects_incomplete_entries(tmp_path: Path) -> None:
manifest = tmp_path / "platforms.json"
manifest.write_text('{"macos-arm64":{"tag":"macosx_14_0_arm64"}}\n')
with pytest.raises(ValueError, match="tag and executable fields"):
build_python_release.load_platforms(manifest)
def test_stage_sdk_keeps_distribution_module_and_runtime_pin_distinct(tmp_path: Path) -> None:
destination = tmp_path / "staging"
@@ -96,6 +104,9 @@ def test_stage_runtime_copies_platform_payload(
assert {path.name: path.read_bytes() for path in runtime_dir.glob("dsh-jsonrpc-agent-pkg-*")} == expected
pyproject = (destination / "pyproject.toml").read_text()
assert 'license-files = ["LICENSE", "THIRD_PARTY_NOTICES.md"]' in pyproject
assert (destination / "platforms.json").read_bytes() == (
ROOT / "python" / "sdk-runtime" / "platforms.json"
).read_bytes()
assert (destination / "LICENSE").read_bytes() == (ROOT / "LICENSE").read_bytes()
assert (destination / "THIRD_PARTY_NOTICES.md").read_bytes() == (
ROOT / "THIRD_PARTY_NOTICES.md"