2021-12-01 15:43:13 +00:00

34 lines
647 B
Go

package mempool
import (
"testing"
)
func TestMemPool(t *testing.T) {
const minMemSize = 64
pool := New(minMemSize)
for i := 0; i < 1024*1024; i++ {
buf := pool.Malloc(i)
if len(buf) != i {
t.Fatalf("invalid length: %v != %v", len(buf), i)
}
pool.Free(buf)
}
for i := 1024 * 1024; i < 1024*1024*1024; i += 1024 * 1024 {
buf := pool.Malloc(i)
if len(buf) != i {
t.Fatalf("invalid length: %v != %v", len(buf), i)
}
pool.Free(buf)
}
buf := pool.Malloc(0)
for i := 1; i < 1024*1024; i++ {
buf = pool.Realloc(buf, i)
if len(buf) != i {
t.Fatalf("invalid length: %v != %v", len(buf), i)
}
}
pool.Free(buf)
}