





















@@ -3387,6 +3387,45 @@ output="$(cat "$sampler_log")"
33873387);
33883388});
338933893390+it.each([
3391+["connect", "OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS", "100ms"],
3392+["ready", "OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS", "1e3"],
3393+])(
3394+"rejects invalid gateway network client %s timeout before Docker setup",
3395+(_label, envName, value) => {
3396+const result = spawnSync("bash", [GATEWAY_NETWORK_DOCKER_E2E_PATH], {
3397+encoding: "utf8",
3398+env: {
3399+ ...process.env,
3400+[envName]: value,
3401+OPENCLAW_SKIP_DOCKER_BUILD: "1",
3402+},
3403+});
3404+3405+expect(result.status).toBe(2);
3406+expect(result.stderr).toContain(`invalid ${envName}: ${value}`);
3407+expect(result.stderr).not.toContain("Docker image not found");
3408+},
3409+);
3410+3411+it("forwards gateway network client timeout env into the Docker client", () => {
3412+const runner = readFileSync(GATEWAY_NETWORK_DOCKER_E2E_PATH, "utf8");
3413+3414+expect(runner).toContain(
3415+"docker_e2e_read_positive_int_env OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS 80000",
3416+);
3417+expect(runner).toContain(
3418+"docker_e2e_read_positive_int_env OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS 80000",
3419+);
3420+expect(runner).toContain(
3421+'-e "OPENCLAW_GATEWAY_NETWORK_CLIENT_CONNECT_TIMEOUT_MS=$CLIENT_CONNECT_TIMEOUT_MS"',
3422+);
3423+expect(runner).toContain(
3424+'-e "OPENCLAW_GATEWAY_NETWORK_CONNECT_READY_TIMEOUT_MS=$CONNECT_READY_TIMEOUT_MS"',
3425+);
3426+expect(runner).toContain('"${CLIENT_LIMIT_ENV_ARGS[@]}"');
3427+});
3428+33903429it("requires TCP readiness for the gateway network runner", () => {
33913430const runner = readFileSync(GATEWAY_NETWORK_DOCKER_E2E_PATH, "utf8");
33923431此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。