-
Notifications
You must be signed in to change notification settings - Fork 316
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
Add tombstoning to smoke test #1209
Comments
Given recent progress toward #1664, I assume we'd want to run the tombstoning check in rust code against the state machine, rather than via integration tests. Do you agree, @hdevalence? |
Scratch that: we discussed at sprint-planning today, and having this as a true integration test is a Good Thing:tm:. Reducing priority for now, though. |
I'll take a first look at this for 44; might have to reorganize the compose files a bit to make coerce the double-sign action. Not sure it'll ship in 44, but will document progress as I go. |
Took a first pass. I'd like to wire up a new CI workflow much like the smoke test, but that uses two validators, one with a duplicated identity. The small changes suggested in #1992 will make this a bit more straightforward, so I'm going to tackle that first. |
We won't be adding any new checks to the smoke test. This should be done as a staking state machine test. |
Is your feature request related to a problem? Please describe.
We don't currently have an integration test that checks that a validator who double-signs a block actually gets tombstoned, and since this is kind of annoying to manually run, we've never actually executed that code path. Attempting to fix #1207 revealed that the necessary indexes weren't being populated, so tombstoning wouldn't have worked, even if it had happened. This is bad, and exposes a gap in our testing.
Describe the solution you'd like
We should add a tombstoning test to the smoke test. This would involve (1) creating a new validator (2) inducing it to double-sign (3) checking that it is tombstoned. One way to induce double-signing is to run two instances of tendermint+pd that have a common
priv_validator_key.json
.The text was updated successfully, but these errors were encountered: