| from __future__ import annotations |
|
|
| from pathlib import Path |
|
|
| import inference |
| import pandas as pd |
| from server import replay_assets |
|
|
|
|
| def test_resolve_data_path_finds_lookup_table() -> None: |
| path = replay_assets.resolve_data_path("lookup_tables/latency_table.parquet") |
| assert path.exists() |
| assert path.name in {"latency_table.parquet", "serving_profile_table.parquet"} |
|
|
|
|
| def test_main_returns_zero_when_env_init_fails(monkeypatch, capsys) -> None: |
| class BrokenEnv: |
| def __init__(self, *args, **kwargs) -> None: |
| raise RuntimeError("simulator bootstrap failed") |
|
|
| monkeypatch.setattr(inference, "LLMServeEnvironment", BrokenEnv) |
| monkeypatch.setattr(inference, "_create_client", lambda: None) |
|
|
| rc = inference.main() |
| output = capsys.readouterr().out |
|
|
| assert rc == 0 |
| assert output.count("[START]") == len(inference.TASKS) |
| assert output.count("[END]") == len(inference.TASKS) |
| assert "simulator bootstrap failed" in output |
|
|
|
|
| def test_fallback_assets_work_when_parquet_loading_breaks(monkeypatch) -> None: |
| def _boom(*args, **kwargs): |
| raise RuntimeError("parquet unavailable") |
|
|
| monkeypatch.setattr(pd, "read_parquet", _boom) |
| replay_assets.load_lookup_table.cache_clear() |
| replay_assets.load_trace_table.cache_clear() |
| replay_assets.load_prompt_samples.cache_clear() |
|
|
| lookup = replay_assets.load_lookup_table("lookup_tables/latency_table.parquet") |
| trace = replay_assets.load_trace_table("traces/static_workload_trace.parquet") |
| prompts = replay_assets.load_prompt_samples("traces/sharegpt_prompt_lengths.parquet") |
|
|
| assert not lookup.empty |
| assert not trace.empty |
| assert prompts |
|
|