test_review_bounded.py python
47 lines 1.4 KB
Raw
sha256:0e9549ec7b463911bc08b7d586dc320b1ac9b1f5c943ee7e3865dcc6cb0f6f83 chore(governance): sync handover+roadmap to 84db8c8 (drift:… Human 1 day ago
1 """Performance bounds for freeze review (§K5.12)."""
2
3 from __future__ import annotations
4
5 import time
6 from pathlib import Path
7
8 from cli.kit_root import kit_root
9 from tests.support import git_status_runner, pass_provider_factory, run_cli, seed_freeze_repo
10 from tools.freeze_reviewer.providers.base import LocalReviewProvider
11
12
13 def test_review_completes_within_budget(tmp_path: Path) -> None:
14 artifact = seed_freeze_repo(tmp_path)
15 rel = artifact.relative_to(tmp_path).as_posix()
16 provider = LocalReviewProvider(scripted_findings=[])
17 calls = {"review": 0, "reachable": 0}
18 real_review = provider.review
19 real_reachable = provider.reachable
20
21 def review_wrap(**kwargs):
22 calls["review"] += 1
23 return real_review(**kwargs)
24
25 def reachable_wrap():
26 calls["reachable"] += 1
27 return real_reachable()
28
29 provider.review = review_wrap # type: ignore[method-assign]
30 provider.reachable = reachable_wrap # type: ignore[method-assign]
31
32 def factory(_name: str) -> LocalReviewProvider:
33 return provider
34
35 start = time.monotonic()
36 code = run_cli(
37 ["review", "--freeze", rel],
38 cwd=tmp_path,
39 runner=git_status_runner(),
40 kit=kit_root(),
41 review_provider_factory=factory,
42 )
43 elapsed = time.monotonic() - start
44 assert code == 0
45 assert elapsed < 5.0
46 assert calls["review"] <= 1
47 assert calls["reachable"] <= 1
File History 1 commit
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor 1 day ago