test_workspace_perf.py file-level

at sha256:a · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:6 fix(ISR): default require_independent_second_reviewer to require Opera… · aaronrene · Sep 2, 2026
1 """Performance tests for workspace check-next (§MR.10 performance)."""
2
3 from __future__ import annotations
4
5 import time
6 from pathlib import Path
7
8 from tools.workspace.check_next import check_next
9 from tools.workspace.manifest import load_manifest_file
10 from tests.fixtures.workspace import build_two_repo_constellation
11
12
13 def test_check_next_five_member_under_two_seconds(tmp_path: Path) -> None:
14 fx = build_two_repo_constellation(tmp_path, with_musehub=True, with_brain=True)
15 # Add two more optional absent members via manifest edit
16 import yaml
17
18 data = yaml.safe_load(fx["manifest"].read_text(encoding="utf-8"))
19 data["members"].extend(
20 [
21 {
22 "id": "edge2",
23 "role": "edge",
24 "root": "${EDGE2_ROOT}",
25 "regime": None,
26 "required": False,
27 "relay": False,
28 },
29 {
30 "id": "kit",
31 "role": "kit",
32 "root": "${KIT_ROOT}",
33 "regime": None,
34 "required": False,
35 "relay": False,
36 },
37 ]
38 )
39 fx["manifest"].write_text(yaml.safe_dump(data), encoding="utf-8")
40 manifest = load_manifest_file(fx["manifest"], manifest_source="local_workspace")
41 start = time.perf_counter()
42 result = check_next(manifest)
43 elapsed = time.perf_counter() - start
44 assert result.exit_code == 0
45 assert elapsed < 2.0