1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Purpose: thin integration-test hub for queue-lock contention coverage.
//!
//! Responsibilities:
//! - Re-export shared imports and suite-local modules for lock contention integration tests.
//! - Preserve the exact top-level `lock_holder_process` subprocess entrypoint required by self-exec contention tests.
//! - Delegate contention and run-loop abort scenarios to focused companion modules.
//!
//! Scope:
//! - Test-suite wiring plus the thin lock-holder wrapper only.
//!
//! Usage:
//! - Companion modules use `use super::*;` for shared imports and helpers.
//! - Contention tests spawn this binary with `--exact lock_holder_process --nocapture`.
//!
//! Invariants/Assumptions:
//! - The root-level `lock_holder_process` test name must remain unchanged so subprocess filtering continues to work.
//! - Assertions, env vars, serial semantics, and coverage stay identical to the pre-split suite.
mod test_support;
#[path = "lock_contention_integration_test/lock_holder.rs"]
mod lock_holder;
#[path = "lock_contention_integration_test/support.rs"]
mod support;
use anyhow::{Context, Result};
use ralph::{lock, queue};
use serial_test::serial;
use std::path::PathBuf;
use std::time::Duration;
use tempfile::TempDir;
#[test]
#[serial]
fn lock_holder_process() -> Result<()> {
lock_holder::lock_holder_process()
}
#[path = "lock_contention_integration_test/contention.rs"]
mod contention;
#[path = "lock_contention_integration_test/run_loop_abort.rs"]
mod run_loop_abort;