The Rust test runner, nextest, runs each test in a separate process, providing a natural default that everyone can rely on without explicit coordination. This process-per-test model acts as a focal point for running tests, similar to how everyone in London knows where Big Ben is. The benefits include per-test isolation for integration tests and the ability to handle memory handling issues without coordination. A shared-process model requires more coordination and can lead to issues like canceled tests affecting others. Canceling threads in a shared-process model is complex and can lead to unreliable synchronization. Overall, the process-per-test model simplifies test management and coordination in the Rust ecosystem.
https://sunshowers.io/posts/nextest-process-per-test/