tests: add minimal coverage for percentile + proxy routing (S1)

- tests/test_metrics.py asserts the new linear-interp _percentile against
  hand-computed expected values (single value, two-value interpolation,
  endpoints, numpy-equivalent linear default, on-integer rank).
- tests/test_proxy_pick.py exercises InstanceState LRU eviction and
  move-to-end on hit, plus session-affinity stickiness, the overload
  fallback, the active_p_offloads penalty, and lmetric scoring. The
  proxy is loaded by file path with stub fastapi/uvicorn/httpx modules
  so the suite runs without the FastAPI server deps installed.
- pyproject.toml gets a hatchling wheel target and a [tool.pytest]
  section so `uv run --extra dev pytest` works out of the box.
This commit is contained in:
2026-05-23 21:07:14 +08:00
parent 7c7f8b951a
commit 0701f84c00
4 changed files with 231 additions and 0 deletions

View File

@@ -14,3 +14,10 @@ dev = ["pytest"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["replayer"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"