(spec: ToolSpec)
| 340 | |
| 341 | |
| 342 | def version_for(spec: ToolSpec) -> str: |
| 343 | proc = subprocess.run(spec.version_argv, capture_output=True, text=True, check=False) |
| 344 | output = (proc.stdout + proc.stderr).strip().splitlines() |
| 345 | return output[0] if output else f"exit {proc.returncode}" |
| 346 | |
| 347 | |
| 348 | def run_tool(spec: ToolSpec, sessions: int, cwd: Path, timeout_s: float, settle_s: float) -> ToolRunResult: |