Skip to content
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

Remove global path exclusion state #602

Merged
merged 3 commits into from
Feb 7, 2025
Merged

Conversation

emdoyle
Copy link
Member

@emdoyle emdoyle commented Feb 7, 2025

This PR removes the path exclusion singleton pattern entirely.

This was a hack to avoid building exclude patterns in the Rust extension once per file, but now we almost always do the full file traversal in Rust (modularity report building and the 'external' portion of tach report are the remaining exceptions).

This is being addressed now because we are starting to hit timing-related flakiness with the Rust test suite due to concurrency and the global exclude state.

Edit: The test flakiness was more directly caused by the other, intentional source of global state: interrupt handling. This is also addressed in this PR by disabling interrupts when compiling for tests, and using a shadow, real implementation specifically for testing the interrupts themselves.

@emdoyle emdoyle merged commit 2138c29 into main Feb 7, 2025
8 of 11 checks passed
@emdoyle emdoyle deleted the remove-global-exclusion-state branch February 7, 2025 05:58
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