diff options
author | Kali Kaneko (leap communications) <kali@leap.se> | 2019-01-12 18:39:45 +0100 |
---|---|---|
committer | Ruben Pollan <meskio@sindominio.net> | 2019-01-17 12:30:32 +0100 |
commit | b1247d2d0d51108c910a73891ff3116e5f032ab1 (patch) | |
tree | e9948964f0bfb1ad2df3bc7bad02aa1f41ccfbd8 /vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go | |
parent | efcb8312e31b5c2261b1a1e95ace55b322cfcc27 (diff) |
[pkg] all your deps are vendored to us
Diffstat (limited to 'vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go')
-rw-r--r-- | vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go b/vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go new file mode 100644 index 0000000..6e574b3 --- /dev/null +++ b/vendor/github.com/oxtoacart/bpool/sizedbufferpool_test.go @@ -0,0 +1,50 @@ +package bpool + +import ( + "bytes" + "testing" +) + +// TestSizedBufferPool checks that over-sized buffers are released and that new +// buffers are created in their place. +func TestSizedBufferPool(t *testing.T) { + + var size int = 4 + var capacity int = 1024 + + bufPool := NewSizedBufferPool(size, capacity) + + b := bufPool.Get() + + // Check the cap before we use the buffer. + if cap(b.Bytes()) != capacity { + t.Fatalf("buffer capacity incorrect: got %v want %v", cap(b.Bytes()), + capacity) + } + + // Grow the buffer beyond our capacity and return it to the pool + b.Grow(capacity * 3) + bufPool.Put(b) + + // Add some additional buffers to fill up the pool. + for i := 0; i < size; i++ { + bufPool.Put(bytes.NewBuffer(make([]byte, 0, bufPool.a*2))) + } + + // Check that oversized buffers are being replaced. + if len(bufPool.c) < size { + t.Fatalf("buffer pool too small: got %v want %v", len(bufPool.c), size) + } + + // Close the channel so we can iterate over it. + close(bufPool.c) + + // Check that there are buffers of the correct capacity in the pool. + for buffer := range bufPool.c { + if cap(buffer.Bytes()) != bufPool.a { + t.Fatalf("returned buffers wrong capacity: got %v want %v", + cap(buffer.Bytes()), capacity) + } + } + +} |