MCPcopy
hub / github.com/grafana/k6 / TestGetStripedOffsets

Function TestGetStripedOffsets

lib/execution_segment_test.go:537–593  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

535}
536
537func TestGetStripedOffsets(t *testing.T) {
538 t.Parallel()
539 testCases := []struct {
540 seq string
541 seg string
542 start int64
543 offsets []int64
544 lcd int64
545 }{
546 // full sequences
547 {seq: "0,0.3,0.5,0.6,0.7,0.8,0.9,1", seg: "0:0.3", start: 0, offsets: []int64{4, 3, 3}, lcd: 10},
548 {seq: "0,0.3,0.5,0.6,0.7,0.8,0.9,1", seg: "0.3:0.5", start: 1, offsets: []int64{4, 6}, lcd: 10},
549 {seq: "0,0.3,0.5,0.6,0.7,0.8,0.9,1", seg: "0.5:0.6", start: 2, offsets: []int64{10}, lcd: 10},
550 {seq: "0,0.3,0.5,0.6,0.7,0.8,0.9,1", seg: "0.6:0.7", start: 3, offsets: []int64{10}, lcd: 10},
551 {seq: "0,0.3,0.5,0.6,0.7,0.8,0.9,1", seg: "0.8:0.9", start: 8, offsets: []int64{10}, lcd: 10},
552 {seq: "0,0.3,0.5,0.6,0.7,0.8,0.9,1", seg: "0.9:1", start: 9, offsets: []int64{10}, lcd: 10},
553 {seq: "0,0.2,0.5,0.6,0.7,0.8,0.9,1", seg: "0.9:1", start: 9, offsets: []int64{10}, lcd: 10},
554 {seq: "0,0.2,0.5,0.6,0.7,0.8,0.9,1", seg: "0:0.2", start: 1, offsets: []int64{4, 6}, lcd: 10},
555 {seq: "0,0.2,0.5,0.6,0.7,0.8,0.9,1", seg: "0.6:0.7", start: 3, offsets: []int64{10}, lcd: 10},
556 // not full sequences
557 {seq: "0,0.2,0.5", seg: "0:0.2", start: 3, offsets: []int64{6, 4}, lcd: 10},
558 {seq: "0,0.2,0.5", seg: "0.2:0.5", start: 1, offsets: []int64{4, 2, 4}, lcd: 10},
559 {seq: "0,2/5,4/5", seg: "0:2/5", start: 0, offsets: []int64{3, 2}, lcd: 5},
560 {seq: "0,2/5,4/5", seg: "2/5:4/5", start: 1, offsets: []int64{3, 2}, lcd: 5},
561 // no sequence
562 {seg: "0:0.2", start: 1, offsets: []int64{5}, lcd: 5},
563 {seg: "0:1/5", start: 1, offsets: []int64{5}, lcd: 5},
564 {seg: "0:2/10", start: 1, offsets: []int64{5}, lcd: 5},
565 {seg: "0:0.4", start: 1, offsets: []int64{2, 3}, lcd: 5},
566 {seg: "0:2/5", start: 1, offsets: []int64{2, 3}, lcd: 5},
567 {seg: "2/5:4/5", start: 1, offsets: []int64{3, 2}, lcd: 5},
568 {seg: "0:4/10", start: 1, offsets: []int64{2, 3}, lcd: 5},
569 {seg: "1/10:5/10", start: 1, offsets: []int64{2, 2, 4, 2}, lcd: 10},
570 }
571
572 for _, tc := range testCases {
573 t.Run(fmt.Sprintf("seq:%s;segment:%s", tc.seq, tc.seg), func(t *testing.T) {
574 t.Parallel()
575 ess, err := NewExecutionSegmentSequenceFromString(tc.seq)
576 require.NoError(t, err)
577 segment, err := NewExecutionSegmentFromString(tc.seg)
578 require.NoError(t, err)
579 et, err := NewExecutionTuple(segment, &ess)
580 require.NoError(t, err)
581
582 start, offsets, lcd := et.GetStripedOffsets()
583
584 assert.Equal(t, tc.start, start)
585 assert.Equal(t, tc.offsets, offsets)
586 assert.Equal(t, tc.lcd, lcd)
587
588 ess2, err := NewExecutionSegmentSequenceFromString(tc.seq)
589 require.NoError(t, err)
590 assert.Equal(t, ess.String(), ess2.String())
591 })
592 }
593}
594

Callers

nothing calls this directly

Calls 7

GetStripedOffsetsMethod · 0.95
NewExecutionTupleFunction · 0.85
EqualMethod · 0.80
RunMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…