Repository navigation
test(runtime): isolate symbol Bloom filter state - #9383
proggeramlug wants to merge 2 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 8 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe symbol address Bloom filter now has per-test lifetime in test builds. The regression test populates a worker thread's filter with a controlled false positive before checking registry access. Production retains the process-global filter. ChangesSymbol filter isolation
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR isolates the symbol Bloom-filter regression test without changing production behavior; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Description checkExplanation The description includes the required Summary, Changes, Related issue, Test plan, Screenshots / output, and Checklist sections. It documents the implementation, issue reference, validation results, and intentionally skipped full commands. Full details: Docstring CoverageExplanation Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 2 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
* test(runtime): isolate symbol Bloom filter state (#9344) * docs(changelog): note symbol filter test isolation * fix: land the symbol-filter isolation and fix CONCAT_MEMO's thread-local check_thread_locals.py is red on main from #9373's raw thread_local!. --------- Co-authored-by: Ralph Küpper <ralph@skelpo.com>
|
Superseded by #9390, which lands your change with the conflict resolved in its favour — details there and on #9344. The |
Summary
Makes the symbol Bloom-filter probe regression independent of process-wide test order and population. Test builds now isolate the filter with the
SYMBOL_POINTERSregistry it guards, while production keeps the same process-global static.Changes
SYMBOL_ADDR_FILTERwithper_test_global!, which preserves the existing static in non-test builds.SYMBOL_POINTERS.Related issue
Fixes #9344
Test plan
cargo build --releaseclean (not run; targeted production-modecargo checkpassed)#[test]in the affected crateAdditional checks run:
cargo fmt --all -- --checkcargo check --release -p perry-runtime --libcargo test --release -p perry-runtime --lib— 2,890 passed, 4 ignored, 0 failedpython3 scripts/global_sink_isolation.py --self-testpython3 scripts/global_sink_isolation.pycargo clippy --release -p perry-runtime --libScreenshots / output
Not applicable.
Checklist
feat:/fix:/docs:/chore:prefix convention used in the logSummary by CodeRabbit
Bug Fixes
Tests