cultmesh-ts test: queued provider registers observed from creation (RUDP replaced-generation flake) #70
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/rudp-queue-test-unhandled-rejection"
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?
Verdict: flaky test, not a provider defect
a replaced RUDP generation drops operations queued behind an active handlercreated twoconnection.register()promises and attached no handler until the end of the test. The test setsoperationTimeoutMs: 100. Neither call can be answered (the first handler is gated, the second is queued behind it, and the generation is closed), so both settle only by the client's operation timeout orconnection.close(). If the test body takes longer than 100 ms, the timeout rejects an unobserved promise (CultMesh provider operation provider.register timed out), and node:test reports "generated asynchronous activity after the test ended". The provider is behaving correctly: the pending operation times out on schedule.Timeouts: client
operationTimeoutMs(test: 100 ms, provider default 5000, ownerCultMeshProviderRudpTransport);connectTimeoutMs(default 2000, unused by the test); testwaitForlimit 1000 ms; a 20 ms sleep after releasing the gate. The test asserts only server-sidehandlerCalls, so it has no reason to depend on the client timeout.Evidence
cultmesh-portabilityruns (829 and the PR runs 835, 843, 819, 809) never reached the test: they die atpwshmissing or git checkout failure. Run 499 is the first run to execute it, so there is no passing history on main, nor a failing one.operationTimeoutMs: 1: 0/5 pass.Change
Test only: observe
first/secondat creation (.then(() => undefined, () => undefined)), and setoperationTimeoutMs: 1so the guard is deterministic rather than load-dependent. No timeout was raised.🤖 Generated with Claude Code