Skip to content

Test downstream tests with pytest-xdist #173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft

Conversation

user27182
Copy link
Contributor

No description provided.

@codecov-commenter
Copy link

codecov-commenter commented Jun 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (main@08dcaaf). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #173   +/-   ##
=======================================
  Coverage        ?   98.03%           
=======================================
  Files           ?        2           
  Lines           ?      204           
  Branches        ?       29           
=======================================
  Hits            ?      200           
  Misses          ?        2           
  Partials        ?        2           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

@akaszynski
Copy link
Member

Thanks for fixing the merge.

@akaszynski
Copy link
Member

Compared with:
https://github.com/pyvista/pytest-pyvista/actions/runs/16125715470/job/45502024651

I'm seeing around a 3 minute improvement in test times:
https://github.com/pyvista/pytest-pyvista/actions/runs/16127303206/job/45507174163?pr=173

Specifics:
5m 15s for this branch for Unit Testing step in Downstream tests vs 8m 29s without pytest-xdist.

@user27182
Copy link
Contributor Author

Yes we saw substantial reduction in times downstream too in pyvista/pyvista#7624. For the limited tests in this repo, we seem to not have any issues with the parallelism. But the full CI suite downstream was seeing concurrency issues across test_plotting and test_renderer, and we appear to have race conditions with reading mesh files with all the fixtures, predominantly with core testing... which led to some refactoring of fixtures but currently hit a snag with pyvista/pyvista#7631 since test coverage is not reporting properly with all the fixtures...

@user27182
Copy link
Contributor Author

It's also a bit of an unknown if features like disallow_unused_cache from #169 will work without a chance of breaking, since that option uses a single global variable to store test states... not sure how that's managed in parallel.

@MatthewFlamm
Copy link
Contributor

pytest-mpl has this workflow in a PR, although it hasn't been implemented yet. It would be useful to keep an eye on the progress there.

matplotlib/pytest-mpl#242

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

Successfully merging this pull request may close these issues.

4 participants