fix(e2e): reject loose docker stats CPU samples · openclaw/openclaw@f381dca
vincentkoc
·
2026-06-19
·
via Recent Commits to openclaw:main
File tree
scripts/e2e/lib/docker-stats
| Original file line number | Diff line number | Diff line change |
|---|
@@ -57,7 +57,12 @@ function parseMemoryMiB(raw) {
|
57 | 57 | } |
58 | 58 | |
59 | 59 | function parseCpuPercent(raw) { |
60 | | -const parsed = Number(String(raw || "").replace(/%$/u, "")); |
| 60 | +const text = String(raw ?? "").trim(); |
| 61 | +const valueText = text.endsWith("%") ? text.slice(0, -1).trim() : text; |
| 62 | +if (!NON_NEGATIVE_DECIMAL_PATTERN.test(valueText)) { |
| 63 | +return undefined; |
| 64 | +} |
| 65 | +const parsed = Number(valueText); |
61 | 66 | return Number.isFinite(parsed) ? parsed : undefined; |
62 | 67 | } |
63 | 68 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -77,6 +77,11 @@ describe("scripts/e2e/lib/docker-stats/assert-resource-ceiling.mjs", () => {
|
77 | 77 | |
78 | 78 | expect(malformed.status).not.toBe(0); |
79 | 79 | expect(malformed.stderr).toContain("had invalid MemUsage"); |
| 80 | + |
| 81 | +const looseCpu = runAssert(writeStats('{"MemUsage":"128MiB / 2GiB","CPUPerc":"1e3%"}\n')); |
| 82 | + |
| 83 | +expect(looseCpu.status).not.toBe(0); |
| 84 | +expect(looseCpu.stderr).toContain("had invalid CPUPerc"); |
80 | 85 | }); |
81 | 86 | |
82 | 87 | it("reports and enforces parsed Docker resource peaks", () => { |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。