This is a script for running choreo examples with quint.
This script requires txm to be
installed:
npm install -g txmNOTE: these tests only check that particular invocations succeed or fail. Tests marked as "should succeed" are expected to pass with the given invariants. Tests marked as "should fail" are expected to find counterexamples to the invariants.
All tests in the following cases are run as commands to bash.
cd examples/tendermint && quint run tendermint.qnt --main valid --invariant="agreement and validity and accountability" --max-samples=20
cd examples/tendermint && quint test tendermint.qnt --main valid --max-samples=20
cd examples/tendermint && quint run tendermint.qnt --main no_agreement --invariant=agreement
cd examples/tendermint && quint run tendermint.qnt --main no_agreement --invariant=accountability --max-samples=20
cd examples/tendermint && quint test tendermint.qnt --main no_agreement --max-samples=20
cd examples/alpenglow && quint run alpenglow.qnt --main some_byz --invariant agreement --max-samples 20
cd examples/alpenglow && quint test alpenglow_tests.qnt
cd examples/alpenglow && quint test alpenglow.qnt --main too_many_byz
cd examples/alpenglow && quint run alpenglow.qnt --main some_byz --invariant fastFinalizedWitness
cd examples/alpenglow && quint run alpenglow.qnt --main some_byz_vp --invariant fastFinalizedWitness
cd examples/alpenglow && quint run alpenglow.qnt --main too_many_byz_1 --invariant agreement
cd examples/alpenglow && quint run alpenglow.qnt --main too_many_byz --invariant agreement
cd examples/monadbft && quint run instance.qnt --max-steps 50 --invariant missing_tip_w --hide monadbft::choreo::s --max-samples=20
cd examples/two_phase_commit && quint test two_phase_commit.qnt --main two_phase_commit
cd examples/two_phase_commit && quint run two_phase_commit.qnt --main two_phase_commit --invariant=consistency --max-samples=20
cd examples/two_phase_commit && quint run two_phase_commit.qnt --main=two_phase_commit --invariant=wit_commit --max-steps=20 --max-samples=500
cd examples/atm_distributed_lock && quint test atm_distributed.qnt --main atm_distributed
cd examples/atm_distributed_lock && quint run atm_distributed_witnesses.qnt --main=atm_distributed_witnesses --invariant=canHaveConcurrentConflict --max-steps=10 --max-samples=500
cd examples/atm_distributed_lock && quint run atm_distributed_witnesses.qnt --main=atm_distributed_witnesses --invariant=canConflictThenCommit --max-steps=30 --max-samples=1000
quint typecheck choreo.qnt
quint run template.qnt