Test the input seqlock and the IPC magic/version handshake
New protocol_test covers two previously-untested cross-process contracts: - publish_pads/read_pads seqlock: a concurrent writer + reader run for ~700 ms; the reader (2.5M snapshots) never observes a torn snapshot, and read_pads returns false (bounded, no hang) when the sequence is stuck odd mid-write. - IpcClient::connect refuses a section with a mismatched version or a bad magic, and accepts a matching header -- the ABI safety net that only had happy-path coverage before. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -114,8 +114,6 @@ From an in-depth review pass. Each item is fixed test-first (a failing test, the
|
||||
as its own commit; "verify" items are confirmed real before any change, and dropped if not.
|
||||
|
||||
Test coverage:
|
||||
- **Seqlock reader paths** — torn-read retry, odd-sequence skip, attempt-exhaustion → false.
|
||||
- **Version/magic mismatch rejection** — negative test that the hook refuses a bad version.
|
||||
- **Dedicated hook tests** — `focus_spoof`, `vk_hook` (present), `d3d9_hook`.
|
||||
- **Misc units** — `SharedMemory` RAII/move, `wav` malformed input, `tool_paths` resolution, injector
|
||||
bitness check; strengthen the `audio_ring` overrun-at-seam case.
|
||||
|
||||
Reference in New Issue
Block a user