Test fixtures must retain fake-worker faults during setup failures #154
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gated multi-subscriber fixture setup can fail with a worker pipe disconnect while losing the fake worker exception needed to distinguish framing, fixture and transport failures.
Read-only investigation of retained nightly evidence: #142/run806 (
4f931e4b7e) failed during Register inside WireUpAdviseAsync; #145/run823 and #146/run824 (f2e0861709) failed during AddItem. These failures preceded replay assertions, so they do not establish a sentinel-formula defect. Historical fake workers unconditionally cancelled framed reads after50ms even before Advise, plausibly matching the partial-frame mechanism reproduced and fixed in PR #153; historical attribution remains unproven because the worker-side fault was not recorded.Current test-only gap at merged main
d779daf6: GatewayEndToEndReconnectReplayTests uses NullLoggerFactory (the analogous multi-subscriber fixture warrants the same audit), observes WorkerTask only on the successful shutdown helper path, and does not retain/observe its fault during fixture teardown/setup failure. Existing retained-read regressions exercise watchGate=true; the pre-Advise watchGate=false branch should have direct segmented-frame coverage.Bounded follow-up: capture bounded safe fake-worker fault diagnostics when setup fails and observe/drain the worker task during teardown without hiding the primary RPC/test failure or adding an unbounded wait. Add a deterministic injected worker-fault test plus a segmented pre-Advise frame held across the former50ms deadline. Preserve production behavior, every replay assertion, timeout budgets and the explicit shutdown path. Verify targeted/full tests and hosted CI before closing.
Parent #150 retains other unresolved historical host/resource/checkout/transport investigations. No remote host execution or production defect is asserted by this issue.
Merged PR #155 as
6fc423f608after independent review, 16 targeted tests and 1,203 full Gateway tests passed with zero failures/warnings. Hosted runs 971 and 972 passed portable, Java and Windows x86 jobs; scheduled nightly job correctly skipped. Merged source tree exactly matches tested commit83aa76c33d. Test-only diagnostics retain original worker faults safely and observe teardown without masking primary failures; deterministic injected-fault/framing regressions verified RED then GREEN. Closing #154. Historical CI cause #150 remains open.