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.
Description
Add generic
process_logsregression 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_logsgroups logs by block and flushes one block at a time. We already have coverage for the multi-block happy path and for theAbortBatchboundary (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_logscall still runs after blockNreturns a non-abort disposition. In particular, there is no symmetric multi-block continuation test forSkipMalformed,SkipExpected, orSkipAmbiguous.Expected Behaviour
The test suite should explicitly prove that later blocks in the same fetched batch continue to process after non-abort dispositions, while
AbortBatchremains the stop-at-boundary case.Steps to resolve
process_logstests that assert later blocks still run after:SkipMalformedSkipExpectedSkipAmbiguousAbortBatchboundary test as the fatal counterpart.log_dispositionsemantics rather than one replay bug path.