archiver: add buffer test

This commit is contained in:
Michael Eischer 2025-10-13 23:00:31 +02:00
parent 3f92987974
commit d8dcd6d115

View file

@ -0,0 +1,41 @@
package archiver
import (
"testing"
)
func TestBufferPoolReuse(t *testing.T) {
// Test that buffers are actually reused from the pool
pool := newBufferPool(1024)
// Get a buffer and modify it
buf1 := pool.Get()
buf1.Data[0] = 0xFF
originalAddr := &buf1.Data[0]
buf1.Release()
// Get another buffer and check if it's the same underlying slice
buf2 := pool.Get()
if &buf2.Data[0] != originalAddr {
t.Error("buffer was not reused from pool")
}
buf2.Release()
}
func TestBufferPoolLargeBuffers(t *testing.T) {
// Test that buffers larger than defaultSize are not returned to pool
pool := newBufferPool(1024)
buf := pool.Get()
// Grow the buffer beyond default size
buf.Data = append(buf.Data, make([]byte, 2048)...)
originalCap := cap(buf.Data)
buf.Release()
// Get a new buffer - should not be the same slice
newBuf := pool.Get()
if cap(newBuf.Data) == originalCap {
t.Error("large buffer was incorrectly returned to pool")
}
}