




















@@ -133,6 +133,27 @@ describe("infra runtime", () => {
133133expect(afterEmitRejected).toHaveBeenCalledTimes(1);
134134});
135135136+it("still emits restart when preparation fails", async () => {
137+const beforeEmit = vi.fn(async () => {
138+throw new Error("state dir readonly");
139+});
140+const emitSpy = vi.spyOn(process, "emit");
141+const handler = () => {};
142+process.on("SIGUSR1", handler);
143+try {
144+scheduleGatewaySigusr1Restart({
145+delayMs: 0,
146+emitHooks: { beforeEmit },
147+});
148+await vi.advanceTimersByTimeAsync(0);
149+150+expect(beforeEmit).toHaveBeenCalledTimes(1);
151+expect(emitSpy).toHaveBeenCalledWith("SIGUSR1");
152+} finally {
153+process.removeListener("SIGUSR1", handler);
154+}
155+});
156+136157it("applies restart cooldown between emitted restart cycles", async () => {
137158const emitSpy = vi.spyOn(process, "emit");
138159const handler = () => {};
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。