diff options
| author | Dan Engelbrecht <[email protected]> | 2026-03-14 10:35:57 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2026-03-14 14:19:07 +0100 |
| commit | 4d74fe44abf1c38aff9b956bc7538afd3fe259c0 (patch) | |
| tree | 35d2f3e6be2b25beb3bcc417564db3b7929955d6 | |
| parent | fix block assembly (diff) | |
| download | zen-4d74fe44abf1c38aff9b956bc7538afd3fe259c0.tar.xz zen-4d74fe44abf1c38aff9b956bc7538afd3fe259c0.zip | |
fix test
| -rw-r--r-- | src/zenremotestore/projectstore/remoteprojectstore.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/zenremotestore/projectstore/remoteprojectstore.cpp b/src/zenremotestore/projectstore/remoteprojectstore.cpp index 1e3550dab..123e8d3be 100644 --- a/src/zenremotestore/projectstore/remoteprojectstore.cpp +++ b/src/zenremotestore/projectstore/remoteprojectstore.cpp @@ -6480,9 +6480,13 @@ TEST_CASE("project.store.export.max_chunks_per_block") TEST_CASE("project.store.export.max_data_per_block") { - // When a single op has chunk-sized attachments larger than MaxBlockSize, the block - // assembly loop fills the per-block limit and breaks triggering logic for where - // to put the attachments + // Validates that ComposeBlocks respects UsableBlockSize = MaxBlockSize - MaxHeaderSize. + // With MaxBlockSize=7168 and MaxChunksPerBlock=32: + // MaxHeaderSize = GetHeaderSizeForNoneEncoder()(64) + MeasureVarUInt(32)(1) + // + MeasureVarUInt(7168)(2) * 32 = 129 + // UsableBlockSize = 7168 - 129 = 7039 + // Oids[1] small attachments total 7041 compressed bytes, which is > UsableBlockSize (7039) + // but <= MaxBlockSize (7168), specifically exercising the MaxHeaderSize boundary. using namespace projectstore_testutils; ScopedTemporaryDirectory TempDir; @@ -6508,21 +6512,17 @@ TEST_CASE("project.store.export.max_data_per_block") Oplog->AppendNewOplogEntry( CreateBulkDataOplogPackage(Oids[0], CreateAttachments(std::initializer_list<size_t>{2u * 1024u}, OodleCompressionLevel::None))); - Oplog->AppendNewOplogEntry(CreateBulkDataOplogPackage( - Oids[1], - CreateAttachments( - std::initializer_list<size_t>{3u * 1024u, 2u * 1024u, 2u * 1024u, 1u * 1024u - 76, 1u * 1024u - 76, 1u * 1024u - 76}, - OodleCompressionLevel::None))); + Oplog->AppendNewOplogEntry( + CreateBulkDataOplogPackage(Oids[1], + CreateAttachments(std::initializer_list<size_t>{3u * 1024u, 2u * 1024u, 2u * 1024u, 875u, 875u, 875u}, + OodleCompressionLevel::None))); - Oplog->AppendNewOplogEntry(CreateBulkDataOplogPackage( - Oids[2], - CreateAttachments(std::initializer_list<size_t>{1u * 1024u - 76, 1u * 1024u - 76}, OodleCompressionLevel::None))); + Oplog->AppendNewOplogEntry( + CreateBulkDataOplogPackage(Oids[2], CreateAttachments(std::initializer_list<size_t>{875u, 875u}, OodleCompressionLevel::None))); Oplog->AppendNewOplogEntry(CreateBulkDataOplogPackage( Oids[3], - CreateAttachments(std::initializer_list< - size_t>{1u * 1024u - 76, 1u * 1024u - 76, 1u * 1024u - 76, 1u * 1024u - 76, 1u * 1024u - 76, 1u * 1024u - 76}, - OodleCompressionLevel::None))); + CreateAttachments(std::initializer_list<size_t>{875u, 875u, 875u, 875u, 875u, 875u}, OodleCompressionLevel::None))); Oplog->AppendNewOplogEntry( CreateBulkDataOplogPackage(Oids[4], CreateAttachments(std::initializer_list<size_t>{1676, 1678}, OodleCompressionLevel::None))); |