MCPcopy
hub / github.com/google/gvisor / TestMaxGapRemoveRandom

Function TestMaxGapRemoveRandom

pkg/segment/test/segment_test.go:212–245  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

210}
211
212func TestMaxGapRemoveRandom(t *testing.T) {
213 var s gapSet
214 for i := 0; i < testSize; i++ {
215 s.InsertWithoutMergingRange(Range{i, i + 1}, i+valueOffset)
216 }
217 order := rand.Perm(testSize)
218 var nrRemovals int
219 for i, j := range order {
220 seg := s.FindSegment(j)
221 if !seg.Ok() {
222 t.Errorf("Iteration %d: failed to find segment with key %d", i, j)
223 break
224 }
225 temprange := seg.Range()
226 s.Remove(seg)
227 nrRemovals++
228 if err := s.segmentTestCheck(testSize-nrRemovals, validate); err != nil {
229 t.Errorf("Iteration %d: %v", i, err)
230 break
231 }
232 if err := checkSetMaxGap(&s); err != nil {
233 t.Errorf("When removing %v: %v", temprange, err)
234 break
235 }
236 }
237 if got, want := s.countSegments(), testSize-nrRemovals; got != want {
238 t.Errorf("Wrong final number of segments: got %d, wanted %d", got, want)
239 }
240 if t.Failed() {
241 t.Logf("Removal order: %v", order[:nrRemovals])
242 t.Logf("Set contents:\n%v", &s)
243 t.FailNow()
244 }
245}
246
247func TestMaxGapRemoveHalfRandom(t *testing.T) {
248 var s gapSet

Callers

nothing calls this directly

Calls 10

checkSetMaxGapFunction · 0.85
FindSegmentMethod · 0.80
segmentTestCheckMethod · 0.80
countSegmentsMethod · 0.80
ErrorfMethod · 0.65
LogfMethod · 0.65
OkMethod · 0.45
RangeMethod · 0.45
RemoveMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…