Files

51 lines
1.3 KiB
Python
Raw Permalink Normal View History

from __future__ import annotations
import subprocess
import sys
import os
from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parent.parent
SCRIPT_DIR = PROJECT_ROOT / "scripts"
CASES: tuple[tuple[str, tuple[str, ...]], ...] = (
(
"Boss cylindrical first-level topology and plan guards",
("verify_boss_first_level_topology.py",),
),
(
"Boss diameter, height and axis local rebuilds",
("verify_boss_resize.py",),
),
(
"Rectangular boss/pocket size, depth, center and top-step edits",
("verify_prismatic_feature.py",),
),
(
"Property editor keeps generic Face edits out of boss features",
("verify_property_editor_specs.py",),
),
)
def main() -> int:
env = os.environ.copy()
env.setdefault("PYTHONIOENCODING", "utf-8")
env.setdefault("PYTHONUTF8", "1")
for index, (label, command) in enumerate(CASES, start=1):
print(f"\n[{index}/{len(CASES)}] {label}", flush=True)
subprocess.run(
(sys.executable, str(SCRIPT_DIR / command[0]), *command[1:]),
cwd=PROJECT_ROOT,
env=env,
check=True,
)
print("\nBoss edit suite passed.", flush=True)
return 0
if __name__ == "__main__":
raise SystemExit(main())