Does the Rust engine run each Python test in a separate process?
Updated August 6, 2026
Two mechanisms. Plugs run as persistent processes, one per plug instance, addressed over a local TCP socket, so instrument objects and their state stay alive across phases. Test phases run on a pool of worker processes, which is what isolates a crashing phase from the rest of the run. Both are standard Python subprocesses, not an embedded interpreter, and the environment and dependencies are managed automatically with uv.
Related questions
- Can instrument connections stay open across an entire unit or station session?Yes. Plugs have a lifecycle scope: phase, slot, run, or station. With scope: station, the plug class is constructed once in a long-lived Python process, its…
- What is TofuPilot's relationship with OpenHTF?We've used TofuPilot for years on drone manufacturing floors and maintain openhtf.org, the open-source OpenHTF documentation site. We're also close to the…
- Can I sync TofuPilot test failures to Linear?Yes. The Linear integration lets failing runs and phases open or update tickets from the dashboard. It offers two actions: Create issue (with optional…