op-e2e,interop: Test safe block replacement of cascading invalid blocks#14949
op-e2e,interop: Test safe block replacement of cascading invalid blocks#149493 commits merged intodevelopfrom
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #14949 +/- ##
===========================================
- Coverage 46.46% 42.37% -4.10%
===========================================
Files 1149 977 -172
Lines 98730 88526 -10204
===========================================
- Hits 45877 37512 -8365
+ Misses 49563 47887 -1676
+ Partials 3290 3127 -163
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
axelKingsley
left a comment
There was a problem hiding this comment.
Looks good, I follow along:
- A1 exists and is fine
- B1 exists and is fine
- A2 makes a valid reference onto B2
- B2 has that reference, but makes a different invalid reference
A2 and B2 are both invalid, and we can see they are replaced by the heads advancing, the block hashes changing, and the tx not being included.
If you wanted, you could stop the Sync calls part way through to confirm that one chain has done the replacement while the other hasn't yet. Not sure it's needed tho.
Should also get @Inphi 's opinion to make sure this test does what they originally meant.
Inphi
left a comment
There was a problem hiding this comment.
Thank you so much for highlighting the issue with the test and fixing it.
As a bonus, I can now confirm that the fault proof program works in this case. I'll follow up on updating FP tests in another PR.
|
just one more thing, I wanna confirm that is indeed a non-issue in the flip case. Could you please add a similar test case where the invalid executing message is included on chain A rather than chain B? |
b84c5da to
aa3dd3e
Compare
This tests that if a safe block is cross-invalid because one of its dependencies is cross-invalid: