-
Notifications
You must be signed in to change notification settings - Fork 228
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
Testgen: LightBlock generation without cyclic dependency #606
Conversation
Codecov Report
@@ Coverage Diff @@
## master #606 +/- ##
========================================
+ Coverage 41.3% 41.6% +0.2%
========================================
Files 163 164 +1
Lines 11311 11393 +82
Branches 2559 2600 +41
========================================
+ Hits 4682 4748 +66
- Misses 6258 6274 +16
Partials 371 371
Continue to review full report at Codecov.
|
…ems/tendermint-rs into Shivani/testgen-light-block
Converted to draft PR because it needs some improvements in the way it is coded like |
Test / nightly-coverage (pull_request) fails on master as well and the error seems to be coming from outside the scope of our code |
@Shivani912 @adizere Is this ready for review? If not, what's missing? Can I be of any help? |
I need to bring some input to help progress on this, namely, to answer the question: which components of a light block are necessary (i.e., read and verified) as part of chain mocking to test the relayer. I'm still chewing on this question. As far as I know, both Shivani and Andrey temporarily shifted focus away from this to work on fuzzing instead -- and generally on testing towards a 0.17 release. Looking forward to hear back from them when they get the time to jump back on this. |
Coming back to this. Initially, the properties/interface we require from a light chain are:
|
Thanks for a detailed description of requirements @adizere! I'm on it :)) |
impl LightBlock {
/// Constructs a default light block for a certain height: field `.signed_header.header.height`
/// will correspond to input `height`.
pub fn default_with_height(height: u64) -> Self {}
/// Produces a light block "chained" to the input block (i.e., having height larger by 1). All
/// other details of the block are currently ignored.
pub fn next(&self) -> Self {}
} LE: we'll go with the original requirements above. |
Codecov Report
@@ Coverage Diff @@
## master #606 +/- ##
========================================
+ Coverage 42.6% 42.8% +0.2%
========================================
Files 167 169 +2
Lines 11629 11816 +187
Branches 2625 2703 +78
========================================
+ Hits 4961 5068 +107
- Misses 6391 6471 +80
Partials 277 277
Continue to review full report at Codecov.
|
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.
Some parts are not clear to me, maybe we can simplify?
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.
@adizere I've addressed your comments above. I won't be able to add you as a reviewer here, so please review this PR at your convenience and let me know if this is okay!
From the IBC-side this looks good. Thanks @Shivani912, much appreciated! @andrey-kuprianov can you do a last pass to review this PR towards getting it merged? |
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.
Great work, @Shivani912! Glad to see the Testgen's capabilities growing:)
Discussion ground for reviewing the fix for closing #605
EDIT: Also contains a minimal implementation of LightChain (which is eventually expected to support ibc-rs testing).