allocate_test.go 539 B

123456789101112131415161718192021222324252627282930
  1. package bbolt
  2. import (
  3. "testing"
  4. )
  5. func TestTx_allocatePageStats(t *testing.T) {
  6. f := newFreelist()
  7. f.ids = []pgid{2, 3}
  8. tx := &Tx{
  9. db: &DB{
  10. freelist: f,
  11. pageSize: defaultPageSize,
  12. },
  13. meta: &meta{},
  14. pages: make(map[pgid]*page),
  15. }
  16. prePageCnt := tx.Stats().PageCount
  17. allocateCnt := f.free_count()
  18. if _, err := tx.allocate(allocateCnt); err != nil {
  19. t.Fatal(err)
  20. }
  21. if tx.Stats().PageCount != prePageCnt+allocateCnt {
  22. t.Errorf("Allocated %d but got %d page in stats", allocateCnt, tx.Stats().PageCount)
  23. }
  24. }