mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-18 18:46:17 +00:00
9852e53b4c
Second batch of the #[serial] sweep started in #6209. nextest is the repository's authoritative runner and executes every test in its own process, so serial_test's in-process mutex cannot serialize tests against each other -- docs/testing/README.md documents this, and the mechanism that actually serializes across the process boundary is a .config/nextest.toml [test-groups] entry with max-threads = 1. Unlike the first batch (e2e, process-isolated by construction), these are in-crate unit tests that could genuinely share process state under the `cargo test` fallback runner, where #[serial] IS still effective. Every marker was therefore reviewed individually and removed only where the test provably touches neither the process environment nor a process-global. Removed (47, pure deletions, no test bodies touched): crates/lifecycle/src/core.rs 35 crates/scanner/src/scanner.rs 12 The lifecycle removals are all validate_* / filter_rules_* / has_active_rules_* / noncurrent_versions_expiration_limit_* tests that build a local BucketLifecycleConfiguration and call a &self method walking only that value. The scanner removals are pure duration arithmetic (randomized_cycle_delay_for, initial_scanner_delay_for with an explicit Some(secs), the bitrot-disabled early return of scanner_clean_idle_max_interval) and background_heal_info_for_scan_complete / _for_scan_result field comparisons over locally built values. Retained deliberately -- see the PR body for the full list and reasons: crates/ecstore/src/bucket/lifecycle/bucket_lifecycle_ops.rs 101 (all) crates/lifecycle/src/core.rs 44 crates/scanner/src/scanner.rs 53 bucket_lifecycle_ops.rs keeps every marker: its test module caches a process-wide `static STALE_MULTIPART_TEST_ENV: OnceLock<(Vec<PathBuf>, Arc<ECStore>)>`, and its own reregister_env_local_disks helper documents in-tree that sibling #[serial] tests reset and reshape the shared local-disk registry for each other. That sharing is real, so the markers stay. No test was renamed, added, or deleted; no reserved migration-gate name substring is affected; no .config/nextest.toml entry references any of the 47 removed tests.