// Ensures that got and want are the same, and if not, reports // detailed diff information. func checkPallocBits(t *testing.T, got, want *PallocBits) bool { … } // makePallocBits produces an initialized PallocBits by setting // the ranges in s to 1 and the rest to zero. func makePallocBits(s []BitRange) *PallocBits { … } // Ensures that PallocBits.AllocRange works, which is a fundamental // method used for testing and initialization since it's used by // makePallocBits. func TestPallocBitsAllocRange(t *testing.T) { … } // Inverts every bit in the PallocBits. func invertPallocBits(b *PallocBits) { … } // Ensures two packed summaries are identical, and reports a detailed description // of the difference if they're not. func checkPallocSum(t testing.TB, got, want PallocSum) { … } func TestMallocBitsPopcntRange(t *testing.T) { … } // Ensures computing bit summaries works as expected by generating random // bitmaps and checking against a reference implementation. func TestPallocBitsSummarizeRandom(t *testing.T) { … } // Ensures computing bit summaries works as expected. func TestPallocBitsSummarize(t *testing.T) { … } // Benchmarks how quickly we can summarize a PallocBits. func BenchmarkPallocBitsSummarize(b *testing.B) { … } // Ensures page allocation works. func TestPallocBitsAlloc(t *testing.T) { … } // Ensures page freeing works. func TestPallocBitsFree(t *testing.T) { … } func TestFindBitRange64(t *testing.T) { … } func BenchmarkFindBitRange64(b *testing.B) { … }