this repo has no description

Trinity#

Trinity is a simulation testing library for the Elixir programming language.

Trinity can simulate the execution of a distributed Elixir application. Processes are deterministically scheduled, with only one process executing at any given time. This scheduling is done entirely in "user-space"; there are no modifications to the runtime (BEAM) itself.

Trinity reimplements a number of OTP primitives in order to guarantee deterministic execution. A simulated clock and filesystem are provided, and Elixir's default PRNG is deterministically seeded when a process is spawned. Trinity also includes tools for (simulated) fault injection, logging, and hashing (to check for determinism bugs).

Status#

Trinity is experimental and under active development. Documentation and an eventual release are planned.