Skip to content

MRG: Avoid pytest 10 warnings in sklearn estimator checks - #14283

Open
Deepnar wants to merge 1 commit into
mne-tools:mainfrom
Deepnar:work/14277-pytest-parametrize-collections
Open

MRG: Avoid pytest 10 warnings in sklearn estimator checks#14283
Deepnar wants to merge 1 commit into
mne-tools:mainfrom
Deepnar:work/14277-pytest-parametrize-collections

Conversation

@Deepnar

@Deepnar Deepnar commented Sep 7, 2026

Copy link
Copy Markdown

Reference issue

Fixes #14277.

What does this implement/fix?

MNE's decoding estimator-compliance tests currently receive a generator-backed iterable from scikit-learn's parametrize_with_checks. Pytest 10 deprecates passing non-collection iterables to parametrize, which produces warnings and can become an error.

This change adds a local compatibility wrapper in mne.decoding.tests that materializes only the parametrized estimator values while preserving the surrounding pytest marks and their arguments. The affected decoding test modules use this wrapper, and the old warning suppression in mne/conftest.py is removed.

Additional information

Validation completed locally:

  • 1,333 affected tests collected.
  • 1,215 selected sklearn-compliance tests passed; 5 skipped.
  • Ruff lint and format passed.
  • Ty passed.
  • Codespell passed.
  • git diff --check and AST parsing passed.

This branch also includes the required Towncrier fragment and new-contributor entry.

AI assistance disclosure: Codex was used to inspect the repository and issue, plan the compatibility change, assist with implementation, and review the resulting diff. The submitted patch is accompanied by the local validation listed above; the author should review and understand every changed line.

Related commit: 81d4b379.

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.

many pytest.PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated. errors

1 participant