fix(test): reject pathological Docker E2E limits · openclaw/openclaw@add9f3c
vincentkoc
·
2026-06-23
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -44,6 +44,17 @@ docker_e2e_read_nonnegative_decimal_env() {
|
44 | 44 | echo "invalid $name: $value" >&2 |
45 | 45 | return 2 |
46 | 46 | fi |
| 47 | +local integer_part="${value%%.*}" |
| 48 | +local fractional_part="" |
| 49 | +if [[ "$value" == *.* ]]; then |
| 50 | + fractional_part="${value#*.}" |
| 51 | +fi |
| 52 | +# These suite knobs are human-authored resource/time ceilings. Reject |
| 53 | +# pathological decimal strings before Docker setup instead of failing later. |
| 54 | +if [ "${#integer_part}" -gt 9 ] || [ "${#fractional_part}" -gt 6 ]; then |
| 55 | +echo "invalid $name: $value" >&2 |
| 56 | +return 2 |
| 57 | +fi |
47 | 58 | printf '%s\n' "$value" |
48 | 59 | } |
49 | 60 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -417,9 +417,15 @@ print_log_tail "$LOG_PATH"
|
417 | 417 | }; |
418 | 418 | |
419 | 419 | const invalid = runProbe("12mb"); |
| 420 | +const overlarge = runProbe("9999999999"); |
| 421 | +const overprecise = runProbe("12.1234567"); |
420 | 422 | const decimal = runProbe("12.5"); |
421 | 423 | expect(invalid.status).toBe(2); |
422 | 424 | expect(invalid.stderr).toContain("invalid OPENCLAW_SAMPLE_RESOURCE_LIMIT: 12mb"); |
| 425 | +expect(overlarge.status).toBe(2); |
| 426 | +expect(overlarge.stderr).toContain("invalid OPENCLAW_SAMPLE_RESOURCE_LIMIT: 9999999999"); |
| 427 | +expect(overprecise.status).toBe(2); |
| 428 | +expect(overprecise.stderr).toContain("invalid OPENCLAW_SAMPLE_RESOURCE_LIMIT: 12.1234567"); |
423 | 429 | expect(decimal.status).toBe(0); |
424 | 430 | expect(decimal.stdout.trimEnd()).toBe("12.5"); |
425 | 431 | }); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。