status-cache: add shuttle tests#8275
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds Shuttle tests to the status cache module for concurrent behavior testing. Shuttle is a deterministic testing framework for finding concurrency bugs by exploring different thread interleavings.
- Adds conditional compilation support for shuttle testing with feature gates
- Implements three shuttle test scenarios covering concurrent operations on the status cache
- Updates CI configuration to run the new shuttle tests
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| runtime/src/status_cache.rs | Adds shuttle-specific imports, deterministic key indexing, and comprehensive shuttle test module |
| runtime/src/serde_snapshot/status_cache.rs | Conditionally imports Mutex from shuttle vs std based on feature flag |
| runtime/Cargo.toml | Adds shuttle-test feature and optional shuttle dependency |
| ci/test-shuttle.sh | Extends CI script to run shuttle tests for runtime module |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
fa6b28b to
3f429ae
Compare
3f429ae to
b91e8c9
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #8275 +/- ##
=======================================
Coverage 83.2% 83.2%
=======================================
Files 836 836
Lines 366600 366604 +4
=======================================
+ Hits 305201 305233 +32
+ Misses 61399 61371 -28 🚀 New features to boost your workflow:
|
apfitzge
left a comment
There was a problem hiding this comment.
minor comment about whether we should be using shuttle's Arc in a spot we're not currently (but using the other shuttle sync types)
Next chunk split out from #3796
This only adds tests, doesn't change any logic.