Skip to content

chore(regression): remove legacy central regression framework#757

Open
lewisjared wants to merge 2 commits into
mainfrom
chore/remove-old-regression-framework
Open

chore(regression): remove legacy central regression framework#757
lewisjared wants to merge 2 commits into
mainfrom
chore/remove-old-regression-framework

Conversation

@lewisjared

@lewisjared lewisjared commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Removes the legacy central regression-testing framework ("Framework A") in favour of the RFC 0005 native baselines ("Framework B"), so the repository has a single regression mechanism. The PMP and ESMValTool native baselines are landing in separate PRs and slot directly into the test-case scaffolding kept here.

Removed

  • The central tests/test-data/regression/ baseline tree (1355 files, ~79 MB).
  • DiagnosticValidator and ExecutionRegression, and the diagnostic_validation, execution_regression, and regression_data_dir fixtures from climate_ref.conftest_plugin.
  • The test_diagnostics / test_build_results tests (and their module-level diagnostic lists) from the PMP and ESMValTool integration suites.

Kept / adjusted

  • All Framework-B scaffolding remains: collect_test_case_params, test_validate_test_case_regression, and test_run_test_cases in each provider. With no committed baselines these skip cleanly today; when the PMP and ESMValTool minted datasets land in their PRs they slot straight in.
  • Added a slim solved_definition_factory fixture to replace the only non-regression use of the old validator (building a definition from the sample-data catalog), used by the PMP command-building unit tests.
  • Relocated the 1.2 MB PDO fixture consumed by two PMP unit tests into packages/climate-ref-pmp/tests/unit/test-data/pdo-example/.

Documentation

  • Rewrote the regression section of adding_custom_diagnostics.md to use ref test-cases.
  • Removed the execution_regression subsection from testing-diagnostics.md.
  • Fixed the stale --force-regen capture note in development.md.
  • Removed the "Regression output" section from tests/test-data/README.md.
  • Dropped the dead central-tree exclude in .pre-commit-config.yaml.

Verified locally: ruff, mypy (139 files), full test collection (2317 tests, 0 errors), and the targeted PMP unit tests (5 passed).

Checklist

Please confirm that this pull request has done the following:

  • Tests added
  • Documentation added (where applicable)
  • Changelog item added to changelog/

Replace the old central regression framework (the DiagnosticValidator /
ExecutionRegression helpers and the diagnostic_validation, execution_regression
and regression_data_dir fixtures) with the RFC 0005 native baselines managed by
`ref test-cases`, leaving a single regression mechanism.

- Delete the central tests/test-data/regression/ tree (~79 MB)
- Drop the Framework-A test_diagnostics / test_build_results tests from the PMP
  and ESMValTool integration suites; the Framework-B test-case scaffolding
  (collect_test_case_params, test_validate_test_case_regression,
  test_run_test_cases) is retained and skips cleanly with no committed baselines
- Add a slim solved_definition_factory fixture to replace the only non-regression
  use of the old validator, used by the PMP command-building unit tests
- Relocate the PDO unit-test fixture into the climate-ref-pmp package
- Update documentation and the pre-commit exclude list

PMP and ESMValTool native baselines land in separate PRs.
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Flag Coverage Δ
core 92.53% <ø> (ø)
providers 85.46% <ø> (-5.94%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...s/climate-ref-core/src/climate_ref_core/testing.py 89.61% <ø> (ø)

... and 11 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant