test: tighten cron timer assertions · openclaw/openclaw@bcf094f
steipete
·
2026-05-08
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -90,7 +90,7 @@ describe("CronService - armTimer tight loop prevention", () => {
|
90 | 90 | |
91 | 91 | armTimer(state); |
92 | 92 | |
93 | | -expect(state.timer).not.toBeNull(); |
| 93 | +expect(state.timer).toEqual(expect.anything()); |
94 | 94 | const delays = extractTimeoutDelays(timeoutSpy); |
95 | 95 | |
96 | 96 | // Before the fix, delay would be 0 (tight loop). |
@@ -171,7 +171,7 @@ describe("CronService - armTimer tight loop prevention", () => {
|
171 | 171 | |
172 | 172 | armTimer(state); |
173 | 173 | |
174 | | -expect(state.timer).not.toBeNull(); |
| 174 | +expect(state.timer).toEqual(expect.anything()); |
175 | 175 | const delays = extractTimeoutDelays(timeoutSpy); |
176 | 176 | expect(delays).toContain(60_000); |
177 | 177 | |
@@ -208,7 +208,7 @@ describe("CronService - armTimer tight loop prevention", () => {
|
208 | 208 | await onTimer(state); |
209 | 209 | |
210 | 210 | expect(state.running).toBe(false); |
211 | | -expect(state.timer).not.toBeNull(); |
| 211 | +expect(state.timer).toEqual(expect.anything()); |
212 | 212 | |
213 | 213 | // The re-armed timer must NOT use delay=0. It should use at least |
214 | 214 | // MIN_REFIRE_GAP_MS to prevent the hot-loop. |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -78,7 +78,7 @@ describe("CronService - timer re-arm when running (#12025)", () => {
|
78 | 78 | |
79 | 79 | // The timer must be re-armed so the scheduler continues ticking, |
80 | 80 | // with a fixed 60s delay to avoid hot-looping. |
81 | | -expect(state.timer).not.toBeNull(); |
| 81 | +expect(state.timer).toEqual(expect.anything()); |
82 | 82 | expect(timeoutSpy).toHaveBeenCalled(); |
83 | 83 | const delays = timeoutSpy.mock.calls |
84 | 84 | .map(([, delay]) => delay) |
@@ -138,7 +138,7 @@ describe("CronService - timer re-arm when running (#12025)", () => {
|
138 | 138 | await Promise.resolve(); |
139 | 139 | expect(settled).toBe(false); |
140 | 140 | expect(state.running).toBe(true); |
141 | | -expect(state.timer).not.toBeNull(); |
| 141 | +expect(state.timer).toEqual(expect.anything()); |
142 | 142 | |
143 | 143 | const delays = timeoutSpy.mock.calls |
144 | 144 | .map(([, delay]) => delay) |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -84,7 +84,7 @@ describe("CronService - session reaper runs in finally block (#31946)", () => {
|
84 | 84 | expect(state.running).toBe(false); |
85 | 85 | |
86 | 86 | // The timer must be re-armed. |
87 | | -expect(state.timer).not.toBeNull(); |
| 87 | +expect(state.timer).toEqual(expect.anything()); |
88 | 88 | }); |
89 | 89 | }); |
90 | 90 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -160,7 +160,7 @@ describe("cron service ops seam coverage", () => {
|
160 | 160 | ); |
161 | 161 | expect(enqueueSystemEvent).not.toHaveBeenCalled(); |
162 | 162 | expect(requestHeartbeat).not.toHaveBeenCalled(); |
163 | | -expect(state.timer).not.toBeNull(); |
| 163 | +expect(state.timer).toEqual(expect.anything()); |
164 | 164 | |
165 | 165 | const persisted = (await loadCronStore(storePath)) as { |
166 | 166 | jobs: CronJob[]; |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -97,7 +97,7 @@ describe("cron service timer regressions", () => {
|
97 | 97 | await onTimer(state); |
98 | 98 | |
99 | 99 | expect(timeoutSpy).toHaveBeenCalled(); |
100 | | -expect(state.timer).not.toBeNull(); |
| 100 | +expect(state.timer).toEqual(expect.anything()); |
101 | 101 | const delays = timeoutSpy.mock.calls |
102 | 102 | .map(([, delay]) => delay) |
103 | 103 | .filter((d): d is number => typeof d === "number"); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。