Skip to content

Latest commit

 

History

History
37 lines (21 loc) · 1.18 KB

README.md

File metadata and controls

37 lines (21 loc) · 1.18 KB

Testing Guidelines

Synevi is tested in multiple ways. ./consensus_e2e.rs contains direct e2e tests that creates 5 GRPC nodes and tests the consensus with multiple conditions.

A comprehensive test is performed via the maelstrom workbench.

Running regular tests

After checking out the repo, just run cargo test to run all non-maelstrom unit and integration tests.

Running maelstrom tests

Synevis consistency can be tested with the maelstrom lin-kv workload.

Prerequisites: A working maelstrom installation see: installation guidelines

Build the lin_kv example:

cargo build --bin maelstrom_lin_kv --release

Run the maelstrom workload:

./maelstrom test -w lin-kv --bin ./target/release/maelstrom_lin_kv --concurrency 4n --node-count 3 --rate 100

If everything went well maelstrom will show some statistics and report:

Everything looks good! ヽ(‘ー`)ノ

You can get a more sophisticated report including visualizations by running ./maelstrom serve and opening http:/0.0.0.0:8080 in a browser.