test_print_next_perf.py file-level

at sha256:c · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:8 docs: queue board-identity follow-ups so they survive the session Capt… · aaronrene · Sep 5, 2026
1 """Performance — ``ok next`` under 2.0s; no muse/git (§ONS.12 / §NXP.8)."""
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 FIXTURES, git_status_runner, run_cli, write_config
10 from tools.print_next.extract import set_read_at_clock
11
12 FIXED_READ_AT = "2026-09-04T12:00:00Z"
13
14
15 def test_ok_next_under_two_seconds(tmp_path: Path) -> None:
16 write_config(tmp_path, "config-git-only.yaml")
17 docs = tmp_path / "docs"
18 docs.mkdir(parents=True, exist_ok=True)
19 (docs / "OVERSEER-HANDOVER.md").write_text(
20 (FIXTURES / "print-next-handover.md").read_text(encoding="utf-8"),
21 encoding="utf-8",
22 )
23 (docs / "ROADMAP.md").write_text("# Roadmap\n", encoding="utf-8")
24
25 set_read_at_clock(lambda: FIXED_READ_AT)
26 try:
27 start = time.perf_counter()
28 code = run_cli(["next"], cwd=tmp_path, runner=git_status_runner(), kit=kit_root())
29 elapsed = time.perf_counter() - start
30 assert code == 0
31 assert elapsed < 2.0
32 finally:
33 set_read_at_clock(None)
34
35
36 def test_ok_next_no_muse_git_subprocess(tmp_path: Path) -> None:
37 write_config(tmp_path, "config-git-only.yaml")
38 docs = tmp_path / "docs"
39 docs.mkdir(parents=True, exist_ok=True)
40 (docs / "OVERSEER-HANDOVER.md").write_text(
41 (FIXTURES / "print-next-handover.md").read_text(encoding="utf-8"),
42 encoding="utf-8",
43 )
44 (docs / "ROADMAP.md").write_text("# Roadmap\n", encoding="utf-8")
45 runner = git_status_runner()
46 set_read_at_clock(lambda: FIXED_READ_AT)
47 try:
48 code = run_cli(["next"], cwd=tmp_path, runner=runner, kit=kit_root())
49 assert code == 0
50 assert runner.calls == []
51 finally:
52 set_read_at_clock(None)