Skip to content
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

Invariant checking during longer-term runs #2277

Closed
kostko opened this issue Oct 18, 2019 · 0 comments
Closed

Invariant checking during longer-term runs #2277

kostko opened this issue Oct 18, 2019 · 0 comments
Labels
c:testing Category: testing

Comments

@kostko
Copy link
Member

kostko commented Oct 18, 2019

We should add tests that check if any invariants are being violated during longer runs. The test(s) would run long-term scenarios (injecting various kinds of transactions).

There needs to be:

  • A generic way to describe system invariants (e.g., total amount of tokens as accounted from all the places that hold tokens should stay the same) such that it is easy to check them at any point in time. This may be possible to reuse in Write a comprehensive set of auditing tools #1633.
  • A generic way to inject transactions (consensus and runtime, with priority on consensus first) during the long-term scenarios. Probably using some kind of random distribution, based on an initial random seed.

The tests can run using our existing test runner, and they should be run daily in CI on the current master.

Estimated cost: ~1 sprint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:testing Category: testing
Projects
None yet
Development

No branches or pull requests

2 participants