You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Two timing tests turn dev gates red under load: the 40ms check-clock cut and the settled-errand temp-dir teardown #1664
dev@73ade0354 (#1654), internal/session, run 36474315029. The cut case gives the check a 40 ms window (checkwindow_test.go:432). On a busy runner the window expires before the hanging call is even made, so the report takes the other wording:
--- FAIL: TestACheckTheClockCutNamesTheClockNotTheWork/cut (0.41s)
checkwindow_test.go:472: the report does not lead with the clock and the call it cut:
the check ran out of time before a call could be made — it had 40ms
Wrote greet.go with the greeting.
Locally (8 cores, load ~0.2) on dev@73ade0354, 1 of 60 runs failed. That failure was in the control subcase, which hung for 38 s. The same test passed 30/30 on dev@e7976208e.
Replication
Deterministic (no model). Both tests use stub completers, so no key is needed. Run them under CPU pressure, for example with another package's tests running beside them:
go test -count=40 -run '^TestASettledErrandLeavesNoNodeOfItsOwnStillRunning$' ./cmd/codeaf
go test -count=60 -run '^TestACheckTheClockCutNamesTheClockNotTheWork$' ./internal/session
At idle both usually pass (40/40 and 59/60 here). Under load, expect the two failures quoted above.
Acceptance
TestACheckTheClockCutNamesTheClockNotTheWork: the cut case no longer depends on a 40 ms wall clock racing the scheduler. For example, inject the check clock, or wait until the hanging call has started before letting the window lapse. The control case must not hang.
Activity
session: control the clocks in the slowest regression tests (#1733)