Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

akaszynski
Copy link
Member

@akaszynski akaszynski commented Aug 31, 2025

Enable parallel testing using tox (thanks for implementing this @beroda). This is compatible with both our self-hosted and GitHub hosted runners.

  • Enable --disallow_unused_cache once it's fixed within pyvista-pytest

Notes:

  • Encountered failures during windows testing due to downloading examples during test collection. Seems like a bad practice to download examples during test collection (e.g. parameterization), and that logic has been moved either into the test function or removed altogether in lieu of alternatives.
  • MacOS doesn't seem to benefit from parallel testing on our self-hosted runners.
  • Documentation upload steps should not run when canceled. GitHub recommends using !cancelled() instead of always() in Workflows and Actions - always. Using this unblocks canceled documentation builds due to concurrency. Resolved in Only upload docs when not cancelled #7890.

@akaszynski akaszynski requested a review from a team as a code owner August 31, 2025 14:52
@pyvista-bot pyvista-bot added the maintenance Low-impact maintenance activity label Aug 31, 2025
Copy link

codecov bot commented Aug 31, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.40%. Comparing base (c96e1dd) to head (89e1d6e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7885   +/-   ##
=======================================
  Coverage   96.40%   96.40%           
=======================================
  Files         150      150           
  Lines       32675    32675           
  Branches     4115     4115           
=======================================
  Hits        31501    31501           
  Misses        570      570           
  Partials      604      604           

@pyvista-bot
Copy link
Contributor

pyvista-bot commented Aug 31, 2025

@pyvista-bot pyvista-bot temporarily deployed to pull request August 31, 2025 15:16 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request August 31, 2025 18:10 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request August 31, 2025 19:17 Inactive
@beroda
Copy link
Collaborator

beroda commented Aug 31, 2025

An attempt of using parallel jobs for testing was already proposed in another PR and led to the same conclusion, ie. that downloadable datasets must occur within fixtures to prevent such kind of issues
See #7624 (comment)

@pyvista-bot pyvista-bot temporarily deployed to pull request August 31, 2025 21:00 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request August 31, 2025 21:37 Inactive
@akaszynski
Copy link
Member Author

An attempt of using parallel jobs for testing was already proposed in another PR and led to the same conclusion, ie. that downloadable datasets must occur within fixtures to prevent such kind of issues
See #7624 (comment)

That's the second time I've neglected to use that PR as a basis. Seems like there are several changes that are needed to get pytest-xdist working and we might have to break this out into several PRs. I did notice that the main issue was on collection, but it's possible that it would crop up given enough runs.

@akaszynski
Copy link
Member Author

akaszynski commented Sep 4, 2025

Possible unstable test test_direction_objects with vtk==9.3.1, see job=49561617651.

@pyvista-bot pyvista-bot temporarily deployed to pull request September 4, 2025 14:43 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 4, 2025 16:44 Inactive
@akaszynski
Copy link
Member Author

test_axes_actor_default_colors failed in Linux Unit Testing (3.11, 9.2.6, latest).

@pyvista-bot pyvista-bot temporarily deployed to pull request September 4, 2025 18:04 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 4, 2025 20:48 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 5, 2025 00:30 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 5, 2025 17:13 Inactive
@akaszynski
Copy link
Member Author

akaszynski commented Sep 7, 2025

Ran cluster local testing on docker and discovered that <9.4 segfaults on render, but I've not seen any failures on vtk>=9.4 despite repeatably running tests with:

xvfb-run pytest tests/plotting -n24

This matches the failures we've had here so far.


I'm not seeing any difference in the render window used as it's identical across all versions of VTK on our CI, so there might be another change under the hood that's causing this.

        GPU Vendor : Mesa
      GPU Renderer : llvmpipe (LLVM 15.0.7, 256 bits)
       GPU Version : 4.5 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3
     Render Window : vtkRenderWindow

On Linux, we might be able to reliably run parallel testing for VTK >= 9.4 on Linux, and parallel core testing for all.

Windows appears rock solid for the past several runs.

@pyvista-bot pyvista-bot temporarily deployed to pull request September 7, 2025 07:11 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 7, 2025 19:10 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 8, 2025 05:41 Inactive
@pyvista-bot pyvista-bot temporarily deployed to pull request September 8, 2025 16:55 Inactive
@@ -76,17 +76,19 @@ cov_flags =
html:coverage_{env_name}

test_downloads = --test_downloads
disallow_unused_cache = --disallow_unused_cache
disallow_unused_cache = # --disallow_unused_cache
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we waiting for a new pytest-pyvista release? Is this ready otherwise?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, just waiting for the next release of pytest-pyvista.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Low-impact maintenance activity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants