Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* executor start * PreCommit function * TODOs * line 28 is in the books * prevote, precommit, and timeout done. proposal missing * starting to put things together for state machine * a somewhat complete version of the executor logic * state machine, but needs to be debugged * moving statemachine. problem with chooseSome * it moves * more things moving * some problem with bookkeeper * more things move * I have seen a Polka * cleanup * cleaning * successful test of statemachine * before consensus return refactor * first pending event added * cleaned consensus * commit to merge with Manuel's updated votekeeper * to merge Daniel's comment * executor start * PreCommit function * TODOs * line 28 is in the books * prevote, precommit, and timeout done. proposal missing * starting to put things together for state machine * a somewhat complete version of the executor logic * state machine, but needs to be debugged * moving statemachine. problem with chooseSome * it moves * more things moving * some problem with bookkeeper * more things move * I have seen a Polka * cleanup * cleaning * successful test of statemachine * before consensus return refactor * first pending event added * cleaned consensus * commit to merge with Manuel's updated votekeeper * to merge Daniel's comment * addressed Daniel's comments * addressed Daniel's comments and run tests * completed the timeout test * clean up and comments * added checks for increasing round numbers * added hash function checks * valset error thrown in test fixed * added action and logic to get value from the outside into the system * comments following the discussion on where to put the reponsibility for getValue * transformed that executed events into list * added an asynchronous execution environment * added round number checks to ProposalMsg * test for disagreement in asynchronous setting * Parameterization of the Asynchronous model * Typecheck all Quint specs on CI and run test for `consensustest.qnt` * Update Specs/Quint/AsyncModels.qnt Co-authored-by: Romain Ruetschi <romain@informal.systems> * added a type invariant * updated syntax to Quint 0.14.4 * WIP: Deserialize ITF traces emitted by consensus Quint spec * Use fixtures from `Specs/Quint` directory * Use workspace dependencies and common settings * Add `step` action to vote keeper spec * Parse traces for the vote keeper spec * Add test fixtures for vote keeper * Cleanup * Use BigInts * moved bookkeeper statemachine out for modularity * Update Quint test job * commented a line that failed a test. Need to discuss with Manu * Run test on all Quint files * Use script to run all tests even in the presence of failures * fixed the logic and the test for Precommit,Nil * Update Specs/Quint/voteBookkeeperTest.qnt Signed-off-by: Josef Widder <josef@informal.systems> Co-authored-by: Hernán Vanzetto <15466498+hvanz@users.noreply.github.com> * rename files for test CI * Update .github/workflows/quint.yml * renamed one more file with a test * module renamed * Register step taken in spec with weightedVote variable * First implementation of trace player for votekeeper * Add valid trace; remove old traces * Failing test for skip round * Fix expected_output and add test for skip with quorum * fix(votekeeper): Compute threshold directly in `VoteKeeper` to account for `Skip` threshold * test: Re-enable VoteCount tests * test: Re-enable RoundVotes tests * test: Remove duplicate tests * test: Re-enable VoteKeeper tests * Re-remove invalid test cases * Remove duplicate commented test * fix(spec/votekeeper): Fix the VoteKeeper spec to account for skip threshold from higher round * fix: Fix a bug where we would double count the weight of validators which both prevoted and precommited * Fix executor spec * fix(votekeeper): Do not count validator weights twice if they prevoted and precommited when checking for Skip threshold * More refactoring; move tests near their function definitions * Add voteBookkeeperSM.qnt with consts; move state and actions to voteBookkeeper * Add Makefile and gen-traces.sh * use rstest for testdata files and fixtures * nits for Cargo.toml * fix clippy warn for items_after_test_module * use .into() to be succinct * use imports * refactor util methods * reorder imports * rename json fixture var * avoid redundant unwrap * use unimplemented!() * rm redundant type annotation * add TraceRunner trait * refactor test using TraceRunner * add Heights in Votes in ITF trace * add Height in Vote in test * pass Height in Vote creation * Update bookkeepers currentRound after calling into consensus * Rename `init` to `initWith` * Add vote invariants * Rename value in test * Make nil always one of the values to pick * Fix merge * Fix trace runner after merge * spec: Add height to vote * spec: add one more round to model * spec: add emitSkip property + a few small improvements * spec: add gitignore * Add new trace files; remove old one * add field current_round to Bookkeeper; fix tests * Fix formatting * spec: Fix executor.qnt * comment out failing test in driver.rs * mv Runner trait to itf crate * override itf crate til next release * update test * deserialize itf to native types * rm itf::Itf usages * add getters for testing * update test * fix consensus trace parsing * depend on informalsystems repo * update types for new itf-rs * refactor test module structure * use Trace::run_on * use rust i64 over BigInt * Add to quint workflow a step to generate traces, including Script/trace-remove-stuttering-steps.sh * fix consensus trace parsing * fix failing trace generation * Fix github workflow env variables * Update task name * Add mbt workflow * mbt workflow: remove branch requirement; simplify env variables * Rename workflow, task * mbt workflow: change trigger * update jq filter * update jq filter * workflow: store traces as artifact * workflow: fix env variable * update workflow * workflow: fix paths * workflow: add fixture dir variable * spec: update Makefile and gen-traces.sh * remove trace files * update Makefile * pick test fixtures at runtime * remove rstest and add glob dependency * format workflow ymls * run coverage with generated traces from MBT workflow * trigger mbt workflow at changes on the workflow yml * store round in vote * update votekeeper rust types and runner * add current_round in step log * add init step log * util method to generate itf traces * update votekeeper mbt * update mbt workflow * revert coverage workflow * set QUINT_SEED in coverage workflow * setup quint to generate traces on ci * disable output capturing in cargo test * nits * spec nits * Add back test on applyVote * Update comment in script * fix typos * use default seed in coverage workflow * update mbt workflow env vars * update rust workflow trigger paths * rm serde_with dep * Remove unused script * Use workspace dependencies --------- Co-authored-by: Josef Widder <josef@informal.systems> Co-authored-by: Romain Ruetschi <romain@informal.systems> Co-authored-by: Anca Zamfir <anca@informal.systems> Co-authored-by: Ranadeep Biswas <rano@informal.systems>
- Loading branch information