diff options
| author | Dan Engelbrecht <[email protected]> | 2023-11-06 15:55:39 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-11-06 15:55:39 +0100 |
| commit | 5295c9618cbae2bb937e188c072f66a77d793eb5 (patch) | |
| tree | 6aeca701b20af5745eb7924c901c9708c098199b /src/zenstore/gc.cpp | |
| parent | statsd for cas (#511) (diff) | |
| download | zen-5295c9618cbae2bb937e188c072f66a77d793eb5.tar.xz zen-5295c9618cbae2bb937e188c072f66a77d793eb5.zip | |
gc v2 tests (#512)
* set MaxBlockCount at init
* properly calculate total size
* basic blockstore compact blocks test
* correct detection of block swap
* Use one implementation for CreateRandomBlob
* reduce some data sets to increase speed of tests
* reduce test time
* rename BlockStoreCompactState::AddBlock -> BlockStoreCompactState::IncludeBlock
Diffstat (limited to 'src/zenstore/gc.cpp')
| -rw-r--r-- | src/zenstore/gc.cpp | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/src/zenstore/gc.cpp b/src/zenstore/gc.cpp index f319475f3..365eb10ab 100644 --- a/src/zenstore/gc.cpp +++ b/src/zenstore/gc.cpp @@ -1652,22 +1652,6 @@ GcScheduler::CollectGarbage(const GcClock::TimePoint& CacheExpireTime, #if ZEN_WITH_TESTS namespace gc::impl { - static IoBuffer CreateChunk(uint64_t Size) - { - static std::random_device rd; - static std::mt19937 g(rd()); - - std::vector<uint8_t> Values; - Values.resize(Size); - for (size_t Idx = 0; Idx < Size; ++Idx) - { - Values[Idx] = static_cast<uint8_t>(Idx); - } - std::shuffle(Values.begin(), Values.end(), g); - - return IoBufferBuilder::MakeCloneFromMemory(Values.data(), Values.size()); - } - static CompressedBuffer Compress(IoBuffer Buffer) { return CompressedBuffer::Compress(SharedBuffer::MakeView(Buffer.GetData(), Buffer.GetSize())); @@ -1688,7 +1672,7 @@ TEST_CASE("gc.basic") CidStore.Initialize(CasConfig); - IoBuffer Chunk = CreateChunk(128); + IoBuffer Chunk = CreateRandomBlob(128); auto CompressedChunk = Compress(Chunk); const auto InsertResult = CidStore.AddChunk(CompressedChunk.GetCompressed().Flatten().AsIoBuffer(), CompressedChunk.DecodeRawHash()); @@ -1718,15 +1702,15 @@ TEST_CASE("gc.full") CasStore->Initialize(CasConfig); uint64_t ChunkSizes[9] = {128, 541, 1023, 781, 218, 37, 4, 997, 5}; - IoBuffer Chunks[9] = {CreateChunk(ChunkSizes[0]), - CreateChunk(ChunkSizes[1]), - CreateChunk(ChunkSizes[2]), - CreateChunk(ChunkSizes[3]), - CreateChunk(ChunkSizes[4]), - CreateChunk(ChunkSizes[5]), - CreateChunk(ChunkSizes[6]), - CreateChunk(ChunkSizes[7]), - CreateChunk(ChunkSizes[8])}; + IoBuffer Chunks[9] = {CreateRandomBlob(ChunkSizes[0]), + CreateRandomBlob(ChunkSizes[1]), + CreateRandomBlob(ChunkSizes[2]), + CreateRandomBlob(ChunkSizes[3]), + CreateRandomBlob(ChunkSizes[4]), + CreateRandomBlob(ChunkSizes[5]), + CreateRandomBlob(ChunkSizes[6]), + CreateRandomBlob(ChunkSizes[7]), + CreateRandomBlob(ChunkSizes[8])}; IoHash ChunkHashes[9] = { IoHash::HashBuffer(Chunks[0].Data(), Chunks[0].Size()), IoHash::HashBuffer(Chunks[1].Data(), Chunks[1].Size()), @@ -2080,7 +2064,7 @@ TEST_CASE("scrub.basic") CidStore.Initialize(CasConfig); - IoBuffer Chunk = CreateChunk(128); + IoBuffer Chunk = CreateRandomBlob(128); auto CompressedChunk = Compress(Chunk); const auto InsertResult = CidStore.AddChunk(CompressedChunk.GetCompressed().Flatten().AsIoBuffer(), CompressedChunk.DecodeRawHash()); |