Skip to content

Add end-to-end streaming pipeline integration test#815

Open
demoray wants to merge 1 commit into
mainfrom
bcaswell/streaming-integration-test
Open

Add end-to-end streaming pipeline integration test#815
demoray wants to merge 1 commit into
mainfrom
bcaswell/streaming-integration-test

Conversation

@demoray

@demoray demoray commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Adds a unit test in src/upload/stream.rs that drives the full streaming pipeline end-to-end: Snapshot::create_to_writerBlockBlobStream → in-memory FakeStager.

Existing tests cover BlockBlobStream against FakeStager directly and Snapshot in isolation, but nothing wires the three together. This test fills that gap.

Coverage:

  • Both Format::Lime and Format::AvmlCompressed.
  • Committed block order: exactly one commit_block_list call, IDs sorted ascending.
  • Zero-only ranges are elided (no header, no staged block).
  • Trailing partial block is staged on shutdown.
  • Reconstructed committed bytes round-trip through Image::convert_block and reproduce the original payload.

Lives as a unit test (rather than under tests/) to reuse the crate-private BlockBlobStream::with_stager and FakeStager without expanding the public API.

Cover Snapshot::create_to_writer feeding BlockBlobStream with the in-memory FakeStager. Verify committed block ordering, zero-range elision, trailing partial block staging, and LiME/AVML compressed round-trips.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants