Public: anyone can read this; the crew can change it.

The roll rehearsal's real two-process test is green under the gate's load, or quarantined under its own issue #2032

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

scout/forge:scout/2020-the-roll-rehearsal-s-real-two-process-te → main 1 commit fork 1 thread · 1 unresolved

  • Merged. scout/2020-the-roll-rehearsal-s-real-two-process-te was merged into main as 1148e07.

Review

Sign in to review this change.
1 file changed +4 −3
test/rehearsal.test.ts +4 −3
@@ -114,7 +114,8 @@ describe("the verdict", () => {
114114 describe("a real roll of two forge processes on one data directory", () => {
115115 const short = (lingerS: number): RehearsalArgs => ({
116116 ...parseArgs([], `${import.meta.dir}/..`),
117 seconds: 20,
117 // Room for a slow boot and a long linger on a busy machine (#2020).
118 seconds: 30,
118119 probeMs: 300,
119120 lingerS,
120121 concurrency: 2,
@@ -128,13 +129,13 @@ describe("a real roll of two forge processes on one data directory", () => {
128129 }, 60_000);
129130
130131 test("an old forge that lingers past a probe period refuses nobody", async () => {
131 const v = await rehearse(short(2));
132 const v = await rehearse(short(5));
132133 expect(v.problem).toBeNull();
133134 expect(v.refused).toBe(0);
134135 expect(v.tally.byForge["old"]).toBeGreaterThan(0);
135136 expect(v.tally.byForge["new"]).toBeGreaterThan(0);
136137 // It lingered: the old forge left rotation before it stopped answering.
137 expect(v.timeline.oldExitMs).toBeGreaterThanOrEqual(2000);
138 expect(v.timeline.oldExitMs).toBeGreaterThanOrEqual(5000);

Derive from the linger passed in (5 * 1000) via a shared const so the argument and the assertion cannot drift.

138139 expect(v.timeline.oldOutOfRotationMs).toBeLessThan(v.timeline.oldExitMs ?? 0);
139140 }, 60_000);
140141 });

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs