From 9aa686b8483943c92574944da414faa49d3ef27c Mon Sep 17 00:00:00 2001 From: Marcus Baw Date: Fri, 11 Sep 2026 12:13:21 +0100 Subject: [PATCH] fix(packaging): ship runtime data only --- .binder/postBuild | 3 +- .github/workflows/python-publish.yml | 1 + .gitignore | 3 - AGENTS.md | 4 + pyproject.toml | 22 ++++- .../cdc_resources/GrowthchartLMSmethod07.pdf | Bin 200333 -> 0 bytes s/test-wheel | 9 +- spec/roadmap.md | 14 +-- tests/distribution/check-sdist.py | 90 ++++++++++++++++++ tests/distribution/check-wheel.py | 21 +++- tests/distribution/test_check_sdist.py | 72 ++++++++++++++ tests/distribution/test_check_wheel.py | 21 ++++ 12 files changed, 241 insertions(+), 19 deletions(-) delete mode 100644 rcpchgrowth/data_tables/cdc_resources/GrowthchartLMSmethod07.pdf create mode 100644 tests/distribution/check-sdist.py create mode 100644 tests/distribution/test_check_sdist.py diff --git a/.binder/postBuild b/.binder/postBuild index 2d5b161..7769051 100755 --- a/.binder/postBuild +++ b/.binder/postBuild @@ -9,7 +9,6 @@ rm -rf rcpchgrowth/tests || true rm -f rcpchgrowth/data_tables/bayley-pineau.pdf || true rm -f rcpchgrowth/data_tables/uk-who_resources/GrowthCharts.xls || true rm -f rcpchgrowth/data_tables/uk-who_resources/*.bas || true -rm -f rcpchgrowth/data_tables/fenton/*.* || true echo "[postBuild] Warm up matplotlib font cache" python - <<'PY' @@ -17,4 +16,4 @@ import matplotlib.pyplot as plt print("Matplotlib imported; font cache built.") PY -echo "[postBuild] Done" \ No newline at end of file +echo "[postBuild] Done" diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 84c11ce..feaa17c 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -78,6 +78,7 @@ jobs: [[ "${sdists[0]}" == "dist/rcpchgrowth-${EXPECTED_VERSION}.tar.gz" ]] [[ "${wheels[0]}" == "dist/rcpchgrowth-${EXPECTED_VERSION}-"*.whl ]] python -m twine check dist/* + python tests/distribution/check-sdist.py "${sdists[0]}" python tests/distribution/check-wheel.py "${wheels[0]}" python -m venv /tmp/release-wheel-venv wheel_path="$PWD/${wheels[0]}" diff --git a/.gitignore b/.gitignore index 57a04a6..73b6818 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,3 @@ dist/ .private/ .playwright/ .playwright-mcp/ - -# Licensed data - Fenton chart data must not be shared -rcpchgrowth/data_tables/fenton/*.* diff --git a/AGENTS.md b/AGENTS.md index 81369f2..1036066 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -92,6 +92,10 @@ Release PRs may change only `pyproject.toml` and `CITATION.cff`, must carry exac ## Important Considerations for LLM Development +### Licensed Reference Data + +Fenton growth-chart data, LMS tables, chart images, and copies of source publications must not be added to this repository, its Git history, build context, wheel, or source distribution unless a documented licence explicitly permits repository and PyPI redistribution. Public availability or publication of an article is not permission to redistribute it. Do not copy Fenton material from private workspaces or other repositories. Keep the package-data declaration as an explicit runtime allowlist, and keep distribution tests fail-closed against Fenton-named content and unapproved resources; `.gitignore` is not a distribution control. + ### Test Fixture Strategy The test fixture is **fixed and finite** (3984 cases). When modifying calculation logic: diff --git a/pyproject.toml b/pyproject.toml index b06e464..5342ba1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,18 +73,34 @@ select = ["E9", "F63", "F7", "F82"] "rcpchgrowth/dynamic_growth.py" = ["F821"] [tool.setuptools] -include-package-data = true +include-package-data = false [tool.setuptools.packages.find] include = ["rcpchgrowth*"] -exclude = ["notebooks"] +exclude = ["notebooks", "rcpchgrowth.tests", "rcpchgrowth.tests.*"] [project.readme] file = "README.md" content-type = "text/markdown" [tool.setuptools.package-data] -rcpchgrowth = ["data_tables/**/*.csv", "data_tables/**/*.json", "data_tables/**/*.xls", "data_tables/**/*.pdf", "data_tables/**/*.bas", "data_tables/**/*.xlsx"] +rcpchgrowth = [ + "data_tables/cdc2-20.json", + "data_tables/cdc_infants.json", + "data_tables/trisomy_21.json", + "data_tables/trisomy_21_aap_children.json", + "data_tables/trisomy_21_aap_infants.json", + "data_tables/turner.json", + "data_tables/uk90_child.json", + "data_tables/uk90_preterm.json", + "data_tables/uk90_term.json", + "data_tables/uk_who_weight_correlation_matrices/weight_correlation_by_month.json", + "data_tables/uk_who_weight_correlation_matrices/weight_correlation_by_week.json", + "data_tables/who/pre_2025/who_infants.json", + "data_tables/who/who_2007_children.json", + "data_tables/who/who_children.json", + "data_tables/who/who_infants.json", +] # Version bumping. `version` above is the single source of truth; this keeps # the duplicated version in CITATION.cff (and its release date) in sync so it diff --git a/rcpchgrowth/data_tables/cdc_resources/GrowthchartLMSmethod07.pdf b/rcpchgrowth/data_tables/cdc_resources/GrowthchartLMSmethod07.pdf deleted file mode 100644 index fcc3a0a5525af0d45f6dce335387a12053f8c7f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200333 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 $@rHS`m{8eGUJQtg7G@mGO}VodhP{B2B4^2^K5% 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 j98^aH0005e|K0V)$jSNd+g}uj$3in)g@oi(/dev/null wheel_path="$work_dir/dist/$wheel_name" else - docker compose exec -T rcpchgrowth-python python -m build --wheel --outdir "$work_dir/dist" + docker compose exec -T rcpchgrowth-python cp -a /app "$work_dir/source" + docker compose exec -T rcpchgrowth-python rm -rf \ + "$work_dir/source/build" \ + "$work_dir/source/dist" \ + "$work_dir/source/rcpchgrowth.egg-info" + docker compose exec -T rcpchgrowth-python sh -c \ + 'cd "$1" && exec python -m build --wheel --outdir "$2"' \ + sh "$work_dir/source" "$work_dir/dist" wheel_path="$(docker compose exec -T rcpchgrowth-python sh -c 'set -- "$1"/*.whl; test "$#" -eq 1; printf "%s" "$1"' sh "$work_dir/dist")" fi diff --git a/spec/roadmap.md b/spec/roadmap.md index 8ad2781..f48c872 100644 --- a/spec/roadmap.md +++ b/spec/roadmap.md @@ -26,7 +26,7 @@ Complete these items before broad formatting, import cleanup, packaging reductio - [x] **R19 - Characterize serialized measurement contracts.** Add golden or schema-focused tests for the complete `Measurement.measurement` dictionary across representative successful, corrected-age, out-of-range, and validation-error cases. Assert key presence, nesting, nullability, value types, reference identifiers, and clinically significant numeric values. - [~] **R20 - Fill calculation-vector and boundary gaps.** Independent representative vectors and documented error boundaries now cover every supported reference. Finalize the exact 23-, 25-, and 42-week boundaries through the existing PR #101 path recorded in `spec/queries.md`. - [~] **R21 - Characterize chart-builder outputs.** Direct tests now cover structure, series selection, age domains, boundary ownership, and representative coordinates for every supported reference. Finalize the exact preterm chart boundaries through the existing PR #101 path recorded in `spec/queries.md`. -- [~] **R22 - Add installed-wheel smoke and resource tests.** Build and install the candidate wheel into an isolated environment, verify public imports and version metadata, and execute representative calculations that load every required packaged data family. The isolated smoke and required-resource checks are active locally and in CI; finish the forbidden-content assertions after R4-R8 establish the approved package policy. +- [x] **R22 - Add installed-wheel smoke and resource tests.** Build and install the candidate wheel into an isolated environment, verify public imports and version metadata, and execute representative calculations that load every required packaged data family. The isolated smoke and exact resource-allowlist checks reject packaged tests, generated files, notebooks, unapproved resources, and Fenton-named content. - [~] **R23 - Add a downstream candidate-wheel compatibility gate.** The exact-wheel runner validates artifact hashes and provenance, the server calculation/API regression suite, dynamic charts, and both pinned React profiles against an immutable server revision. The runner passed against PR #280 commit `6918e3b8152963345f4c0996e7bd52bacf904583` using the published 4.6.0 wheel; repeat it with a commit-stamped candidate wheel against PR #280's immutable merge commit after that PR adopts the canonical engine identifier, then use that merge commit as the permanent release/CI pin. ## High priority @@ -39,11 +39,11 @@ Complete these items before broad formatting, import cleanup, packaging reductio - [ ] **R25 - Derive accepted age domains from reference metadata and table extents.** Replace duplicated age-limit literals with a central domain model for every reference segment, measurement, and sex. Distinguish observed table extent from clinically supported applicability, including endpoint inclusivity and overlap precedence for hybrid references such as UK-WHO and WHO. Add build-time checks against canonical source material in `rcpch/growth-references`, prohibit extrapolation beyond selected series, and test every first/last accepted endpoint plus `math.nextafter()` immediately outside it. Track implementation in issue #109. - [ ] **R3 - Decide the future of the unusable `BoneAge` class.** `rcpchgrowth/bone_age.py:12-48` returns a dictionary from `__init__`, so construction raises `TypeError: __init__() should return None`. The class has no internal consumers and is not exported from the package root, although related fields are supported by `Measurement`. Either implement and test a coherent object API or remove the module after checking external compatibility. -- [ ] **R4 - Define an explicit runtime package-data allowlist.** The published installation occupies roughly 15 MB and ships spreadsheets, a PDF, VBA source, validation CSVs, old WHO tables, experimental LMS tables, and other provenance material because `pyproject.toml:68-69` broadly includes file extensions beneath `data_tables`. Identify the JSON and correlation resources required at runtime, package only those files, and verify wheel and sdist contents in CI. -- [ ] **R5 - Exclude the test package from release wheels.** `pyproject.toml:60-62` discovers `rcpchgrowth*`, which includes 19 modules beneath `rcpchgrowth/tests` in the published wheel. Exclude `rcpchgrowth.tests` and its subpackages while retaining all tests in the source repository and sdist if deliberately required there. -- [ ] **R6 - Separate runtime data from source and validation provenance.** Review `rcpchgrowth/data_tables/uk-who_resources/` (about 6.2 MB), `test_lms_cole_tmp/`, `validation_who_vs_uk_who/`, `cdc_resources/`, WHO CSV sources, `who/pre_2025/`, AAP spreadsheets, `GrowthCharts.xls`, `huiqi_cole_methods.bas`, and `data_tables.txt`. Retain required provenance in the repository or documentation project, but move it outside runtime package data and document what generated each shipped table. -- [ ] **R7 - Retire or archive the legacy `cdc.json` table.** `rcpchgrowth/data_tables/cdc.json` is approximately 308 KB and is shipped, but runtime code uses `cdc_infants.json` and `cdc2-20.json`. Confirm that no external resource consumer relies on its path, then remove it from package data or move it to a clearly documented provenance archive. -- [ ] **R8 - Decide whether height-prediction data is a supported feature.** The Bayley-Pinneau CSV files and `constants/height_predictions_constants.py` are shipped and indirectly exposed through wildcard constant imports, but no implementation or internal consumer exists. Either implement and test the feature or stop packaging and exporting these placeholders after a compatibility review. +- [x] **R4 - Define an explicit runtime package-data allowlist.** Packaging now includes only the 15 JSON resources traced to production loads, and the artifact checkers reject every unapproved package resource. +- [x] **R5 - Exclude the test package from release wheels.** Package discovery excludes `rcpchgrowth.tests` and its subpackages, and the wheel checker rejects packaged test modules. +- [~] **R6 - Separate runtime data from source and validation provenance.** Source spreadsheets, validation CSVs, VBA, intermediate tables, and other provenance remain available in the repository but are excluded from runtime wheels. Finish documenting the generation and provenance of each shipped runtime table. +- [x] **R7 - Retire or archive the legacy `cdc.json` table.** The unused aggregate remains available as repository provenance but is excluded from package data; runtime continues to use `cdc_infants.json` and `cdc2-20.json`. +- [~] **R8 - Decide whether height-prediction data is a supported feature.** Bayley-Pinneau CSV files are no longer shipped in runtime wheels. Decide separately whether to implement the feature or remove its indirectly exposed placeholder constants through a compatibility-managed change. ## Low priority @@ -52,7 +52,7 @@ Complete these items before broad formatting, import cleanup, packaging reductio - [ ] **R11 - Remove confirmed unused imports and duplicate imports.** Clean `json` from `global_functions.py`; `CDC`, `HEIGHT`, `WEIGHT`, `rounded_sds_for_centile`, and duplicate `HEAD_CIRCUMFERENCE`/`BMI` imports from `centile_bands.py`; `FENTON` and `UK_WHO_CHILD` from `chart_functions.py`; `FEMALE`, `MALE`, and `z_score` from `dynamic_growth.py`; `scipy.stats.norm` from `test_centile_band_for_centile.py`; and `json`, `pprint`, and the local `math` import from `test_who.py`. Do not remove the root-package imports that intentionally define the public API. - [ ] **R12 - Remove unused WHO precalculated centile arrays after source review.** The large arrays `WHO_GIRL_WEIGHT_UNDER_FIVE_15`, `WHO_GIRL_BMI_OVER_FIVE_15`, `WHO_BOY_LENGTH_OVER_FIVE_15`, `WHO_BOY_WEIGHT_OVER_FIVE_15`, and `WHO_BOY_BMI_OVER_FIVE_15` in `rcpchgrowth/tests/who_test_data/who_chart_precalculated_centiles.py` have no test consumers. Confirm that they are not intentionally retained source vectors before deleting them. - [ ] **R13 - Make the public namespace explicit.** Add deliberate `__all__` declarations to `rcpchgrowth/__init__.py` and the constants package, then replace internal wildcard imports incrementally. Preserve the existing supported names unless a breaking API change is explicitly approved; the current Ruff reports for root re-exports are expected false positives rather than automatic deletion candidates. -- [ ] **R14 - Make release builds isolated and reproducible.** A local wheel built with an existing ignored `rcpchgrowth.egg-info/SOURCES.txt` contained `data_tables.txt`, while the published wheel did not, demonstrating that stale build metadata can affect package contents. Build releases from a clean source tree, inspect wheel and sdist manifests automatically, and ensure ignored metadata cannot alter artifacts. +- [x] **R14 - Make release builds isolated and reproducible.** Release CI builds from a clean checkout and validates both wheel and sdist manifests. Local wheel tests build from a temporary clean copy of the current worktree, preventing ignored `build/` and `rcpchgrowth.egg-info/` state from altering artifacts. - [ ] **R15 - Clear disposable generated artifacts from development worktrees.** The audited worktree contained ignored `build/`, `dist/`, `rcpchgrowth.egg-info/`, `.pytest_cache/`, `__pycache__/`, and notebook checkpoint directories, including an obsolete `2.1.9` distribution artifact. Provide or document a safe cleanup command that removes only ignored generated output and never reference or provenance data. ## Dependency audit result diff --git a/tests/distribution/check-sdist.py b/tests/distribution/check-sdist.py new file mode 100644 index 0000000..9f1da06 --- /dev/null +++ b/tests/distribution/check-sdist.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +"""Validate source distribution structure and package contents.""" + +import sys +from email.parser import Parser +from pathlib import Path +from runpy import run_path +from tarfile import open as open_tar + + +WHEEL_CHECKER = Path(__file__).with_name("check-wheel.py") +WHEEL_POLICY = run_path(str(WHEEL_CHECKER)) +RUNTIME_RESOURCES = WHEEL_POLICY["RUNTIME_RESOURCES"] +REQUIRED_FILES = WHEEL_POLICY["REQUIRED_FILES"] | { + "LICENSE", + "README.md", + "pyproject.toml", +} +ALLOWED_BUILD_METADATA = { + "PKG-INFO", + "rcpchgrowth.egg-info/PKG-INFO", + "rcpchgrowth.egg-info/SOURCES.txt", + "rcpchgrowth.egg-info/dependency_links.txt", + "rcpchgrowth.egg-info/requires.txt", + "rcpchgrowth.egg-info/top_level.txt", + "setup.cfg", +} + + +def main() -> None: + sdist = Path(sys.argv[1]).resolve() + if not sdist.is_file() or not sdist.name.endswith(".tar.gz"): + raise SystemExit(f"Not a source distribution: {sdist}") + + with open_tar(sdist, "r:gz") as archive: + file_members = {member.name: member for member in archive if member.isfile()} + roots = {Path(name).parts[0] for name in file_members} + if len(roots) != 1: + raise AssertionError(f"Expected one sdist root, found {sorted(roots)}") + root = roots.pop() + metadata_name = f"{root}/PKG-INFO" + if metadata_name not in file_members: + raise AssertionError(f"Missing sdist metadata: {metadata_name}") + metadata_file = archive.extractfile(file_members[metadata_name]) + assert metadata_file is not None + metadata = Parser().parsestr(metadata_file.read().decode()) + + members = {name.removeprefix(f"{root}/") for name in file_members} + missing = sorted(REQUIRED_FILES - members) + unexpected_resources = sorted( + name + for name in members + if not name.endswith(".py") + and name not in REQUIRED_FILES + and name not in ALLOWED_BUILD_METADATA + ) + forbidden = sorted( + name + for name in members + if "__pycache__" in name + or name.endswith((".pyc", ".pyo")) + or "notebooks" in Path(name).parts + or name.startswith("rcpchgrowth/tests/") + or "fenton" in name.casefold() + ) + assert not missing, f"Required files missing from sdist: {missing}" + assert not unexpected_resources, ( + f"Unapproved package resources found in sdist: {unexpected_resources}" + ) + assert not forbidden, f"Forbidden files found in sdist: {forbidden}" + assert metadata["Name"] == "rcpchgrowth" + assert metadata["Version"] + expected_name = f"rcpchgrowth-{metadata['Version']}.tar.gz" + expected_root = f"rcpchgrowth-{metadata['Version']}" + assert root == expected_root, ( + f"Source distribution root and metadata version differ: " + f"{root}, {metadata['Version']}" + ) + assert sdist.name == expected_name, ( + f"Source distribution filename and metadata version differ: " + f"{sdist.name}, {metadata['Version']}" + ) + print( + f"Validated {sdist.name}: rcpchgrowth {metadata['Version']}, " + f"{len(members)} files" + ) + + +if __name__ == "__main__": + main() diff --git a/tests/distribution/check-wheel.py b/tests/distribution/check-wheel.py index 4903486..2d28380 100755 --- a/tests/distribution/check-wheel.py +++ b/tests/distribution/check-wheel.py @@ -1,14 +1,16 @@ #!/usr/bin/env python3 -"""Validate the minimum wheel structure needed by runtime consumers.""" +"""Validate the exact wheel structure needed by runtime consumers.""" import sys from email.parser import Parser from pathlib import Path from zipfile import ZipFile -REQUIRED_FILES = { +REQUIRED_PYTHON_FILES = { "rcpchgrowth/__init__.py", "rcpchgrowth/_build_info.py", +} +RUNTIME_RESOURCES = { "rcpchgrowth/data_tables/cdc2-20.json", "rcpchgrowth/data_tables/cdc_infants.json", "rcpchgrowth/data_tables/trisomy_21.json", @@ -25,6 +27,7 @@ "rcpchgrowth/data_tables/who/who_children.json", "rcpchgrowth/data_tables/who/who_infants.json", } +REQUIRED_FILES = REQUIRED_PYTHON_FILES | RUNTIME_RESOURCES def main() -> None: @@ -42,15 +45,27 @@ def main() -> None: metadata = Parser().parsestr(archive.read(metadata_names[0]).decode()) missing = sorted(REQUIRED_FILES - members) + package_resources = { + name + for name in members + if name.startswith("rcpchgrowth/") + and not name.endswith((".py", "/")) + } + unexpected_resources = sorted(package_resources - RUNTIME_RESOURCES) forbidden = sorted( name for name in members if "__pycache__" in name or name.endswith((".pyc", ".pyo")) or "notebooks" in Path(name).parts + or name.startswith("rcpchgrowth/tests/") + or "fenton" in name.casefold() ) assert not missing, f"Required runtime files missing from wheel: {missing}" - assert not forbidden, f"Generated or notebook files found in wheel: {forbidden}" + assert not unexpected_resources, ( + f"Unapproved package resources found in wheel: {unexpected_resources}" + ) + assert not forbidden, f"Forbidden files found in wheel: {forbidden}" assert metadata["Name"] == "rcpchgrowth" assert metadata["Version"] assert wheel.name.startswith(f"rcpchgrowth-{metadata['Version']}-"), ( diff --git a/tests/distribution/test_check_sdist.py b/tests/distribution/test_check_sdist.py new file mode 100644 index 0000000..f3f5d25 --- /dev/null +++ b/tests/distribution/test_check_sdist.py @@ -0,0 +1,72 @@ +import io +import subprocess +import sys +from pathlib import Path +from runpy import run_path +from tarfile import TarInfo, open as open_tar + + +SCRIPT = Path(__file__).with_name("check-sdist.py") +REQUIRED_FILES = run_path(str(SCRIPT))["REQUIRED_FILES"] + + +def make_sdist(tmp_path, *, version="4.6.2", omitted=None, extra=()): + sdist = tmp_path / f"rcpchgrowth-{version}.tar.gz" + root = f"rcpchgrowth-{version}" + members = REQUIRED_FILES - ({omitted} if omitted else set()) + with open_tar(sdist, "w:gz") as archive: + for name in members: + info = TarInfo(f"{root}/{name}") + info.size = 0 + archive.addfile(info, io.BytesIO()) + metadata = f"Name: rcpchgrowth\nVersion: {version}\n".encode() + info = TarInfo(f"{root}/PKG-INFO") + info.size = len(metadata) + archive.addfile(info, io.BytesIO(metadata)) + for name in extra: + info = TarInfo(f"{root}/{name}") + info.size = 0 + archive.addfile(info, io.BytesIO()) + return sdist + + +def check(sdist): + return subprocess.run( + [sys.executable, str(SCRIPT), str(sdist)], + capture_output=True, + check=False, + text=True, + ) + + +def test_accepts_minimal_valid_sdist(tmp_path): + result = check(make_sdist(tmp_path)) + assert result.returncode == 0, result.stderr + + +def test_rejects_missing_runtime_resource(tmp_path): + missing = "rcpchgrowth/data_tables/who/who_infants.json" + result = check(make_sdist(tmp_path, omitted=missing)) + assert result.returncode != 0 + assert missing in result.stderr + + +def test_rejects_unapproved_package_resource(tmp_path): + extra = "rcpchgrowth/data_tables/source/reference.csv" + result = check(make_sdist(tmp_path, extra=(extra,))) + assert result.returncode != 0 + assert extra in result.stderr + + +def test_rejects_unapproved_top_level_resource(tmp_path): + extra = "references/source-publication.pdf" + result = check(make_sdist(tmp_path, extra=(extra,))) + assert result.returncode != 0 + assert extra in result.stderr + + +def test_rejects_fenton_path_case_insensitively(tmp_path): + extra = "reference/FENTON-paper.pdf" + result = check(make_sdist(tmp_path, extra=(extra,))) + assert result.returncode != 0 + assert extra in result.stderr diff --git a/tests/distribution/test_check_wheel.py b/tests/distribution/test_check_wheel.py index 571a840..f3218eb 100644 --- a/tests/distribution/test_check_wheel.py +++ b/tests/distribution/test_check_wheel.py @@ -51,6 +51,27 @@ def test_rejects_nested_notebook_content(tmp_path): assert "demo.ipynb" in result.stderr +def test_rejects_unapproved_package_resource(tmp_path): + extra = "rcpchgrowth/data_tables/who/csv/who_2006_weight_male.csv" + result = check(make_wheel(tmp_path, extra=(extra,))) + assert result.returncode != 0 + assert extra in result.stderr + + +def test_rejects_packaged_test_module(tmp_path): + extra = "rcpchgrowth/tests/test_reference.py" + result = check(make_wheel(tmp_path, extra=(extra,))) + assert result.returncode != 0 + assert extra in result.stderr + + +def test_rejects_fenton_path_case_insensitively(tmp_path): + extra = "rcpchgrowth/data_tables/FENTON/reference.py" + result = check(make_wheel(tmp_path, extra=(extra,))) + assert result.returncode != 0 + assert extra in result.stderr + + def test_rejects_filename_metadata_version_mismatch(tmp_path): wheel = make_wheel(tmp_path) mismatched = wheel.with_name("rcpchgrowth-4.6.1-py3-none-any.whl")