

















@@ -4,6 +4,7 @@ import { DEFAULT_RESOURCE_LIMITS } from "../../scripts/lib/docker-e2e-plan.mjs";
44import {
55canStartSchedulerLane,
66describeDockerSchedulerLimits,
7+dockerPreflightContainerNames,
78parseDockerAllCliArgs,
89} from "../../scripts/test-docker-all.mjs";
910@@ -207,6 +208,28 @@ describe("scripts/test-docker-all scheduler", () => {
207208expect(DEFAULT_RESOURCE_LIMITS["live:openai"]).toBe(1);
208209});
209210211+it("cleans stale stopped containers from all named Docker E2E lanes", () => {
212+expect(
213+dockerPreflightContainerNames(`
214+openclaw-gateway-e2e-123 Exited (1) 2 minutes ago
215+openclaw-config-reload-e2e-234 Created
216+openclaw-plugin-binding-command-escape-e2e-345 Dead
217+openclaw-kitchen-sink-rpc-e2e-456 Exited (137) 10 seconds ago
218+openclaw-openwebui-gateway-567 Exited (1) 3 minutes ago
219+openclaw-openwebui-678 Created
220+openclaw-not-an-e2e-container Exited (1) 2 minutes ago
221+postgres Created
222+`),
223+).toEqual([
224+"openclaw-gateway-e2e-123",
225+"openclaw-config-reload-e2e-234",
226+"openclaw-plugin-binding-command-escape-e2e-345",
227+"openclaw-kitchen-sink-rpc-e2e-456",
228+"openclaw-openwebui-gateway-567",
229+"openclaw-openwebui-678",
230+]);
231+});
232+210233it("describes effective scheduler limits for operator errors", () => {
211234expect(describeDockerSchedulerLimits(2, limits)).toBe(
212235"parallelism=2 weightLimit=2 resources=docker=2 npm=2",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。