Mempool test: generate txs larger than the entire mempool #1230
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.
Closes #1226
In addition to the previously valid/invalid txs (purely based on the UTxO ledger rules), we add an optional per-tx limit to the mock block.
As a second step, we generate very large txs that are larger than an entire mempool, in order to test that we do not block when adding them (just like the other txs), which is important as explained in #1226.
One way to validate this PR is to introduce a bug that would cause us to block on such transactions, and observe that the test now indeed catches that.
For example, retrying when the per-tx limited is not satisfied (this is basically what happened in #1168 and was fixed by #1225) via
or here
will cause many test failures with
FailureDeadlock [Labelled (ThreadId []) (Just "main")]'
viaio-sim
's nice deadlock detection.Stacked on top of #1175 to avoid boring rebase work