test1111111 / tests /test_cli.py
spitfire4794's picture
deploy c66f5aa: decode push
421b8c2
Raw History Blame Contribute Delete
1.63 kB
import json
import pytest
from cism.cli import main
from cism.engine import Engine
from test_engine import make_engine
def test_inspect(monkeypatch, capsys):
engine, _ = make_engine()
monkeypatch.setattr(Engine, "from_pretrained", lambda *args, **kwargs: engine)
assert main(["inspect", "fake-model"]) == 0
assert json.loads(capsys.readouterr().out)["model"] == "fake-model"
def test_generate(monkeypatch, capsys):
engine, _ = make_engine()
monkeypatch.setattr(Engine, "from_pretrained", lambda *args, **kwargs: engine)
assert main(["generate", "fake-model", "--max-tokens", "2"]) == 0
assert capsys.readouterr().out == "<3><4>\n"
def test_cache_report(monkeypatch, capsys):
engine, native = make_engine()
monkeypatch.setattr(Engine, "from_pretrained", lambda *args, **kwargs: engine)
assert main(["cache-report", "fake-model", "--decode-tokens", "2", "--scrub-mb", "1"]) == 0
report = json.loads(capsys.readouterr().out)
assert report["decode_bottleneck"]
assert report["residency"]
assert report["warm_scan_gbps"] > 0 and report["cold_scan_gbps"] > 0
assert native.scans >= 25
def test_invalid_bench(capsys):
with pytest.raises(SystemExit) as error:
main(["bench", "fake-model", "--runs", "0"])
assert error.value.code == 2
def test_import_error_is_actionable(monkeypatch, capsys):
def fail(*args, **kwargs):
raise ValueError("Unsupported architecture")
monkeypatch.setattr(Engine, "from_pretrained", fail)
assert main(["inspect", "fake-model"]) == 1
assert "Unsupported architecture" in capsys.readouterr().err