Skip to content

feat(testing): 72-hour soak test setup (#82) - #227

Merged
imran-siddique merged 1 commit into
mainfrom
feat/soak-test
Jun 7, 2026
Merged

feat(testing): 72-hour soak test setup (#82)#227
imran-siddique merged 1 commit into
mainfrom
feat/soak-test

Conversation

@imran-siddique

Copy link
Copy Markdown
Member

Summary

  • python tests/soak/run_soak.py --duration-hours 72 --provider {tpm,sev-snp,software-only} runs the soak test
  • Alternating 1h active (100 calls/hour) / 1h idle load pattern; 36 iterations for a full 72h run
  • Monitors all 6 edge cases from docs/testing/soak-test.md:
    1. Attestation expiration (tracks attestation_gaps)
    2. SSE connection stability through nginx (skipped if --nginx-url not set)
    3. Memory growth bounds (O(n) threshold check)
    4. TEE networking idle timeout (first call after idle measured vs 2x baseline)
    5. Signing key stability (chain root sampled at 24h intervals)
    6. Session orphaning (session IDs tracked)
  • Optional --nginx-url for SSE edge case; --gateway-url to connect to external gateway instead of starting in-process
  • Reference MCP server (tests/soak/reference_server.py) exposes echo, get_data, delay tools
  • Outputs benchmarks/soak-YYYY-MM-DD.json

Test plan

  • python -m pytest tests/unit/test_soak.py -v — 13 tests pass
  • python tests/soak/run_soak.py --duration-hours 0.01 --provider software-only — quick smoke (~2 min)

Closes #82

🤖 Generated with Claude Code

python tests/soak/run_soak.py --duration-hours 72 --provider sev-snp
runs alternating 1h active / 1h idle cycles, monitoring all 6 edge cases
from docs/testing/soak-test.md: attestation expiration, SSE stability through
nginx, memory growth bounds, idle-to-active transition latency, signing key
stability, and session orphaning. Outputs benchmarks/soak-YYYY-MM-DD.json.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@imran-siddique
imran-siddique merged commit d403a71 into main Jun 7, 2026
1 of 8 checks passed
imran-siddique added a commit that referenced this pull request Jun 7, 2026
python tests/soak/run_soak.py --duration-hours 72 --provider sev-snp
runs alternating 1h active / 1h idle cycles, monitoring all 6 edge cases
from docs/testing/soak-test.md: attestation expiration, SSE stability through
nginx, memory growth bounds, idle-to-active transition latency, signing key
stability, and session orphaning. Outputs benchmarks/soak-YYYY-MM-DD.json.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@imran-siddique
imran-siddique deleted the feat/soak-test branch July 29, 2026 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[testing] 72-hour soak test setup

1 participant