diviner

Diviner is a FoundationDB style simulation testing framework for Rust. It includes 2 parts:

If you find the above term confusing, this video might help explain what diviner provides.

The goal here, is to enable deterministic testing on any Rust code satisfying the following rules:

  1. The code is written in async/await style;
  2. The code uses wrappers provided by diviner to perform all the necessary IOs;

Examples

To illustrate what the library does, several examples are provided in the repository: