Skip to content

test: Isolate theme state in theme tests - #4039

Open
joelostblom wants to merge 2 commits into
mainfrom
test/clean-up-themes
Open

test: Isolate theme state in theme tests#4039
joelostblom wants to merge 2 commits into
mainfrom
test/clean-up-themes

Conversation

@joelostblom

Copy link
Copy Markdown
Contributor

Some theme tests register and enable temporary themes globally. When pytest-xdist schedules those tests before example roundtrip tests in the same worker, the active custom theme can leak into later chart serialization and cause schema validation failures, as in https://github.com/vega/altair/actions/runs/27004820890/job/79693717966.

This PR restores the default theme in cleanup blocks and unregisters temporary themes after each mutating test. It also suppresses missing-theme errors during cleanup so cleanup does not mask the original test failure or fail after tests that intentionally unregister a theme.

@joelostblom
joelostblom force-pushed the test/clean-up-themes branch 2 times, most recently from 18e27b3 to 09aa9fa Compare June 6, 2026 20:38
Some theme tests register and enable temporary themes globally. When pytest-xdist schedules those tests before example roundtrip tests in the same worker, the active custom theme can leak into later chart serialization and cause schema validation failures.

Restore the default theme in cleanup blocks and unregister temporary themes after each mutating test. Suppress missing-theme errors during cleanup so cleanup does not mask the original test failure or fail after tests that intentionally unregister a theme.
@joelostblom
joelostblom force-pushed the test/clean-up-themes branch from 09aa9fa to f9aa16d Compare June 6, 2026 20:44
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.

1 participant