litellm/tests/e2e
yassin 55e82feb8a test(e2e): add Locust throughput load test that runs last
Add a tests/e2e/load suite that drives concurrent POST /chat/completions through the live proxy with Locust and asserts an aggregate throughput SLO, filling the gap CodSpeed (no-IO SDK benchmarks) cannot cover. Traffic targets a mock deployment so the number reflects proxy overhead, not provider latency; every knob (users, spawn rate, duration, RPS floor, failure ratio) is env-overridable so the same test runs on berrie-litellm-stage EKS or a local compose stack.

Locust runs as a subprocess (it monkey-patches the stdlib with gevent, which deadlocks pytest in-process). The load-marked test is collected last via pytest_collection_modifyitems so it never perturbs latency-sensitive suites. Adds locust to the e2e-dev group and covers reliability.perf.throughput.under_slo.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-07-17 17:27:19 +00:00
..
access_control test(e2e): migrate access-control and inference-endpoint regression tests (#32016) 2026-07-05 01:39:10 +00:00
batches test: e2e staging leftovers (#33613) 2026-07-16 17:52:41 -07:00
claude_code test(e2e): harness fixes for stage job green (skips + router/UI/budget) (#33634) 2026-07-16 20:30:30 -07:00
coverage_registry test(e2e): harness fixes for stage job green (skips + router/UI/budget) (#33634) 2026-07-16 20:30:30 -07:00
grafana feat(e2e): emit structured E2E_RESULT lines for package status history (#33578) 2026-07-16 15:01:01 -07:00
llm_translation test(e2e): scope virtual keys to the deployment under test 2026-07-14 17:12:15 -07:00
load test(e2e): add Locust throughput load test that runs last 2026-07-17 17:27:19 +00:00
logging test(e2e): datadog log delivery for streamed routes, read back from the real datadog api (#33566) 2026-07-16 19:37:07 -07:00
management test(e2e): harness fixes for stage job green (skips + router/UI/budget) (#33634) 2026-07-16 20:30:30 -07:00
quota_management test(e2e): harness fixes for stage job green (skips + router/UI/budget) (#33634) 2026-07-16 20:30:30 -07:00
router test(e2e): harness fixes for stage job green (skips + router/UI/budget) (#33634) 2026-07-16 20:30:30 -07:00
bob_the_builder.py test: litellm fix failing tests (#32577) 2026-07-09 13:54:45 -07:00
CLAUDE.md test(e2e): add Locust throughput load test that runs last 2026-07-17 17:27:19 +00:00
conftest.py test(e2e): add Locust throughput load test that runs last 2026-07-17 17:27:19 +00:00
CONTRIBUTING.md ci: gate tests/e2e on zero basedpyright errors in pre-commit and lint CI 2026-07-11 10:25:22 -07:00
docker-compose.yml test: e2e staging leftovers (#33613) 2026-07-16 17:52:41 -07:00
e2e_config.py test(e2e): add Locust throughput load test that runs last 2026-07-17 17:27:19 +00:00
e2e_gateway.py fix(e2e/claude_code): unblock stage collection, align proxy env names, register compat models (#33433) 2026-07-16 11:05:31 -07:00
e2e_http.py test(e2e): otel trace completeness on streaming chat, messages, and responses (LIT-3787) (#33234) 2026-07-14 20:23:54 -07:00
e2e_result_reporter.py feat(e2e): emit structured E2E_RESULT lines for package status history (#33578) 2026-07-16 15:01:01 -07:00
lifecycle.py test(e2e): add live batches suite across providers and routing scenarios (#30958) 2026-07-02 08:05:23 -07:00
models.py test(e2e): add Locust throughput load test that runs last 2026-07-17 17:27:19 +00:00
pytest.ini test(e2e): add Locust throughput load test that runs last 2026-07-17 17:27:19 +00:00
transport.py test(e2e): probe the full spend read surface including schema-hidden routes (#32267) 2026-07-06 14:02:05 -07:00