Skip to content

eth: add cross-block continuation coverage for non-abort log dispositions #975

@diegomrsantos

Description

@diegomrsantos

Description

Add generic process_logs regression coverage for cross-block continuation when an earlier block returns a non-abort log disposition.

Version

Current unstable, follow-up from PR #973.

Present Behaviour

event_processor::process_logs groups logs by block and flushes one block at a time. We already have coverage for the multi-block happy path and for the AbortBatch boundary (test_cross_block_failure_preserves_previous_block_commit). PR #973 also adds operator-specific regressions for skipped add/remove replay classification.

What we do not currently cover is the generic outer-loop invariant that a later block in the same process_logs call still runs after block N returns a non-abort disposition. In particular, there is no symmetric multi-block continuation test for SkipMalformed, SkipExpected, or SkipAmbiguous.

Expected Behaviour

The test suite should explicitly prove that later blocks in the same fetched batch continue to process after non-abort dispositions, while AbortBatch remains the stop-at-boundary case.

Steps to resolve

  • Add one or more multi-block process_logs tests that assert later blocks still run after:
    • SkipMalformed
    • SkipExpected
    • SkipAmbiguous
  • Keep the existing AbortBatch boundary test as the fatal counterpart.
  • Prefer a generic fixture or table-driven shape over another operator-specific test so the coverage matches log_disposition semantics rather than one replay bug path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions