Skip to content
forked from jepsen-io/jepsen

A framework for distributed systems verification, with fault injection

Notifications You must be signed in to change notification settings

tendermint/jepsen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jepsen Tests for Tendermint

Jepsen tests for Tendermint.

The initial test suite was written back in Sept. 2017 in the attempt to verify Tendermint safety guarantees. No significant issues were found: "Tendermint appears to satisfy its safety guarantees". You can read the full report for more details.

This repository is a fork of the main Jepsen repository. The initial test suite was copied from jepsen-io/tendermint repository.

Quickstart

Assuming you have docker-compose set up already, run:

cd docker && bin/up

In another terminal, run:

cd docker && bin/console

Once console is up, run:

root@control:/jepsen# cd tendermint && lein run test

The output should look something like this:

       {:process 85,
        :type :invoke,
        :f :read,
        :value nil,
        :index 110,
        :time 53268946400}]}),
    :analyzer :linear,
    :final-paths ()}},
  :failures []},
 :valid? true}


Everything looks good!

Please refer to docker README for additional docker options and tendermint README for more test options.

Updating Jepsen

Add an upstream remote (one time):

git remote add upstream https://github.com/jepsen-io/jepsen.git

Fetch the changes (if any) and rebase:

git fetch upstream
git rebase upstream/master

License

Copyright © 2017 Jepsen, LLC

Distributed under the Apache Public License 2.0.

About

A framework for distributed systems verification, with fault injection

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Clojure 92.8%
  • Go 3.8%
  • C 1.9%
  • Shell 1.1%
  • Other 0.4%