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

Tracking: Testing the Entire Chain #745

Closed
33 of 51 tasks
teor2345 opened this issue Jul 23, 2020 · 7 comments
Closed
33 of 51 tasks

Tracking: Testing the Entire Chain #745

teor2345 opened this issue Jul 23, 2020 · 7 comments
Labels
C-tracking-issue Category: This is a tracking issue for other tasks

Comments

@teor2345
Copy link
Contributor

teor2345 commented Jul 23, 2020

Goals

Make sure that zebrad's sync, verify, and state handling work after every commit.

Check historical edge-case handling in our verifiers, by running the entire chain through them.

These basic tests are easy to automate, and provide reasonable assurance that our implementation works.

Issues from Epic

Original list

High Priority - Early Releases

Implementation

Fix Bugs That Impact Tests

Chain Testing

Sync Testing

Failure Testing

Automation

  • Integrate quick tests into PR and main branch CI - fast tests
  • Deploy slower tests using main branch CD - slow tests

Lower Priority - Later Releases

Design and Scope

Fix Bugs That Impact Tests

Chain Testing

Sync Testing

Failure Testing

  • Make sure that every consensus rule fails on invalid data
  • Make sure that signatures fail on invalid data
  • Make sure that proofs fail on invalid data
@hdevalence
Copy link
Contributor

I think our code will be simpler if we don't add any additional modes beyond what we absolutely need.

@teor2345
Copy link
Contributor Author

teor2345 commented Aug 6, 2020

I think our code will be simpler if we don't add any additional modes beyond what we absolutely need.

I'd like to test the block verifier against all the blocks in the chain, to make sure we've covered any historical edge cases.

What's the best way to do that?

I could delete some of the hard-coded checkpoints, but that might cause issues with pre-Sapling blocks.

@teor2345 teor2345 reopened this Aug 6, 2020
@teor2345 teor2345 changed the title Create a "checkpoint and full block validate" mode Work out how to test the BlockVerifier using all Mainnet and Testnet blocks Aug 11, 2020
@teor2345 teor2345 changed the title Work out how to test the BlockVerifier using all Mainnet and Testnet blocks Work out how to test the BlockVerifier using the entire chain Aug 11, 2020
@dconnolly dconnolly added the E-help-wanted Call for participation: Help is requested to fix this issue. label Aug 13, 2020
@teor2345 teor2345 added the C-tracking-issue Category: This is a tracking issue for other tasks label Aug 13, 2020
@dconnolly dconnolly changed the title Work out how to test the BlockVerifier using the entire chain Tracking: work out how to test the BlockVerifier using the entire chain Aug 13, 2020
@teor2345 teor2345 changed the title Tracking: work out how to test the BlockVerifier using the entire chain Tracking: Testing the Entire Chain Aug 13, 2020
@teor2345
Copy link
Contributor Author

Updated based on #911 and #931.

@dconnolly
Copy link
Contributor

dconnolly commented Nov 12, 2020

#1285

@mpguerra mpguerra added the Epic Zenhub Label. Denotes a theme of work under which related issues will be grouped label Nov 17, 2020
@teor2345
Copy link
Contributor Author

teor2345 commented Dec 1, 2020

We've moved all of the remaining sub-tasks out of the first alpha release, so this ticket can move to the first stable release.

@mpguerra mpguerra removed the E-med label Mar 23, 2021
@mpguerra mpguerra removed the Epic Zenhub Label. Denotes a theme of work under which related issues will be grouped label Jan 21, 2022
@mpguerra
Copy link
Contributor

Converting any "Epics" that do not have a start and end date into github tracking issues instead.

@teor2345
Copy link
Contributor Author

All these tasks are unlikely to be done any time soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: This is a tracking issue for other tasks
Projects
None yet
Development

No branches or pull requests

4 participants