MCPcopy
hub / github.com/grafana/tempo / TestSegmentDecoderToObjectDecoderRange

Function TestSegmentDecoderToObjectDecoderRange

pkg/model/segment_decoder_test.go:46–79  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

44}
45
46func TestSegmentDecoderToObjectDecoderRange(t *testing.T) {
47 for _, e := range AllEncodings {
48 t.Run(e, func(t *testing.T) {
49 start := rand.Uint32()
50 end := rand.Uint32()
51
52 objectDecoder, err := NewObjectDecoder(e)
53 require.NoError(t, err)
54
55 segmentDecoder, err := NewSegmentDecoder(e)
56 require.NoError(t, err)
57
58 // random trace
59 trace := test.MakeTrace(100, nil)
60
61 segment, err := segmentDecoder.PrepareForWrite(trace, start, end)
62 require.NoError(t, err)
63
64 // convert to object
65 object, err := segmentDecoder.ToObject([][]byte{segment})
66 require.NoError(t, err)
67
68 // test range
69 actualStart, actualEnd, err := objectDecoder.FastRange(object)
70 if errors.Is(err, decoder.ErrUnsupported) {
71 return
72 }
73
74 require.NoError(t, err)
75 require.Equal(t, start, actualStart)
76 require.Equal(t, end, actualEnd)
77 })
78 }
79}
80
81func TestSegmentDecoderFastRange(t *testing.T) {
82 for _, e := range AllEncodings {

Callers

nothing calls this directly

Calls 8

PrepareForWriteMethod · 0.95
ToObjectMethod · 0.95
FastRangeMethod · 0.95
MakeTraceFunction · 0.92
NewObjectDecoderFunction · 0.70
NewSegmentDecoderFunction · 0.70
RunMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected