34 lines
647 B
Go
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)
|
||
|
}
|