From 10e5ad6464c5ec0a3aa8b928c482682bbd209e66 Mon Sep 17 00:00:00 2001 From: pdobacz <5735525+pdobacz@users.noreply.github.com> Date: Wed, 18 Dec 2024 15:35:15 +0100 Subject: [PATCH] fix(eof): eofwrap.py to ignore invalid blocks --- src/cli/eofwrap.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/cli/eofwrap.py b/src/cli/eofwrap.py index 5e3646b0cc1..d34965ba18e 100644 --- a/src/cli/eofwrap.py +++ b/src/cli/eofwrap.py @@ -91,6 +91,8 @@ class EofWrapper: FIXTURES_CANT_WRAP = "fixtures_cant_wrap" # Test fixtures with EOF code but test doesn't pass and generation fails FIXTURES_CANT_GENERATE = "fixtures_cant_generate" + # Invalid blocks in fixtures skipped + INVALID_BLOCKS_SKIPPED = "invalid_blocks_skipped" # State accounts with code wrapped into valid EOF ACCOUNTS_WRAPPED = "accounts_wrapped" # State accounts with code wrapped into valid unique EOF @@ -111,6 +113,7 @@ def __init__(self): self.FIXTURES_GENERATED: 0, self.FIXTURES_CANT_WRAP: 0, self.FIXTURES_CANT_GENERATE: 0, + self.INVALID_BLOCKS_SKIPPED: 0, self.ACCOUNTS_WRAPPED: 0, self.UNIQUE_ACCOUNTS_WRAPPED: 0, self.ACCOUNTS_INVALID_EOF: 0, @@ -283,16 +286,16 @@ def _wrap_fixture(self, fixture: BlockchainFixture, traces: bool): **fixture_tx_dump, ) block.txs.append(tx) + + test.blocks.append(block) elif isinstance(fixture_block, InvalidFixtureBlock): - block = Block( - rlp=fixture_block.rlp, - exception=fixture_block.expect_exception, - ) + # Skip - invalid blocks are not supported. Reason: FixtureTransaction doesn't + # support expected exception. But we can continue and test the remaining + # blocks. + self.metrics[self.INVALID_BLOCKS_SKIPPED] += 1 else: raise TypeError("not a FixtureBlock") - test.blocks.append(block) - result = test.generate( request=None, # type: ignore t8n=t8n,