-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Model-based Testing With Quickcheck-Dynamic #391
Merged
Changes from 4 commits
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
b5ea26b
[wip] Write a simple QD model for HeadLogic
abailly 99caa35
[wip] Making some progress on model, now trygin to execute test
abailly 2a00ca1
WIP: make StateModel play nicely with IOSim
MaximilianAlgehed ba6136f
WIP: fixing shrinking so that it does something (not ideal at the mom…
MaximilianAlgehed 1a796a8
WIP: unsafeCoerce hack to get arund QuickCheck's PropertyM being a ta…
MaximilianAlgehed 754d70f
Try to get rid of some Typeable constraints but still having troubles
abailly 6d7a16e
Fix Model so that it can run in hspec :tada:
abailly 7718d00
Add Commits to the model
abailly cbc36ed
Add Commit and Abort actions
abailly 41473c0
Wait for Init to perform Commit
abailly d340bec
Write first assertion on the model: assert commits consistency.
KtorZ b305048
Correctly compare node's state with model
abailly 139da3a
Improve error message on failed assertion
abailly 1cb03f8
Fix recording of server outputs in TestHydraNode
KtorZ a5495d5
Move state-model assertion in separate function
KtorZ 1d71b90
Assert Head is opened with the right commits
abailly e741258
Try labelling transitions to enrich the model output.
KtorZ 1c5fc8c
Add more labels for transitions and generate more tests
abailly e3d12fd
Simplify testing machinery for StateModel
abailly 63a9606
Unify Model to have a single consensus state
abailly 07f1290
Improvements to model-based test output
abailly 6b65a48
Simplify Action type as a wrapper around ClientInput
abailly 9dd5959
Reject transition by default
abailly d7a387c
Work towards generating transaction on Open
KtorZ a98d6ea
[wip] Implement perform on NewTx
abailly 9ffe210
Rework model to use abstract representation of Ledger/UTxO
KtorZ 2ad0997
[wip] Update generator and nextState to new tx model
abailly f3ec900
Continue plumbing mock payment model into real world.
KtorZ ace8fd8
Implement missing typeclasses for Payment
abailly c494bb2
Implement concrete perform action for 'NewTx'.
KtorZ e465a67
Wait for UTxO to be non-empty before performing a new transaction.
KtorZ 4a89deb
Add safety pre-condition to 'NewTx'
KtorZ 6321e65
Add some tracing to debug infinite loop.
KtorZ fed99ef
Wait for transacation to be confirmed after performing NewTx.
KtorZ 34ce355
Add source of failure in CommandFailed output
abailly 8708f76
Wait for head to be open before performing new tx.
KtorZ 5e9bf31
Fix new-tx pre-condition: make sure value is correct.
KtorZ 3a4abc3
Compare map of aggregated addr->values instead of list of txout
KtorZ ec7c0d9
Check equality of balances after some txs
abailly 2465a85
Capture logs of TesthydraNode in TVar.
KtorZ 7f3ea14
Dump node logs when ModelSpec tests errors out
abailly f214db5
Adapt TUI to changed output
abailly 1207d4d
[wip] Track snapshot production to understand Model property failure
abailly a337fd7
[wip] Introduce NewSn event to ensure event queue is filled
abailly 0239d36
Check there's always a leader for every snapshot number
abailly f4f4c4a
Filter outputs with empty values in model
abailly a036cd9
Make Model similar to UTxO
abailly b0f669f
Improve reporting of error in case no UTxO is available
abailly f0d8248
Do not throw error when there's no UTxO
abailly d2834ce
Dump logs captured in IOSim when property fails
abailly f001e17
Custom show instance for Payment to improve error reporting
abailly e8eda0c
Revert "[wip] Track snapshot production to understand Model property …
abailly 132edcc
Start fleshing out conflict-free liveness property
abailly 57bc30c
Ensure we don't generate 2 parties with identical keys
abailly 2edf6e5
[wip] debugging
abailly cd116f7
Use type alias for CardanoSigningKey
abailly 93fc6fb
Adjust wait time for UTxO to appear
abailly e265dab
Move "unit" test as an example in the ModelSpec doc
abailly 30c2d46
Remove empty quickcheck directory artifact (former submodule?)
ch1bo 08c5735
Fix quickcheck-dynamic package reference to remote one
abailly 9001d23
Rename property checking balances
abailly 4b47bf9
Rephrase liveness property
abailly 89cf064
genPayment instead of genNewTx (an Action)
ch1bo 74b7d2a
Draft a property using the DynamicLogic
ch1bo 324448f
Use a branched quickcheck-dynamic to make it compile
ch1bo c27dcce
Make Model-based tests pass
abailly 99d0600
Missing golden files
abailly 360ebbf
Clean-up and document Model
abailly af3d6f7
Remove dynamic logic stuff
abailly 54ff20a
Remove Ord instance for SigningKey
abailly 4ca43bb
Update YAML for logs following change in API
abailly db7a68e
Rename performs -> sendsInput
abailly 7153cc5
Make printTrace more generic
abailly e0e87f6
Dedup parties list when generating HeadParameters
abailly 1161107
Fix API schema for CommandFailed server output
abailly File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍