Skip to content

Commit

Permalink
fix: testing leaks
Browse files Browse the repository at this point in the history
Signed-off-by: nabil salah <nabil.salah203@gmail.com>
  • Loading branch information
nabil salah committed Jan 23, 2025
1 parent 04fdcf2 commit 12b6256
Show file tree
Hide file tree
Showing 12 changed files with 675 additions and 89 deletions.
7 changes: 2 additions & 5 deletions internal/jptrace/translator/goldendataset/package_test.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
// Copyright (c) 2025 The Jaeger Authors.
// SPDX-License-Identifier: Apache-2.0

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package goldendataset

import (
"testing"

"go.uber.org/goleak"
"github.com/jaegertracing/jaeger/pkg/testutils"
)

func TestMain(m *testing.M) {
goleak.VerifyTestMain(m)
testutils.VerifyGoLeaks(m)
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ package goldendataset
import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/pdata/pmetric"
)
Expand Down Expand Up @@ -78,11 +77,11 @@ func TestPICTtoCfg(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
actual := pictToCfg(test.inputs)
expected := test.cfg
assert.Equal(t, expected.NumResourceAttrs, actual.NumResourceAttrs)
assert.Equal(t, expected.NumPtsPerMetric, actual.NumPtsPerMetric)
assert.Equal(t, expected.MetricDescriptorType, actual.MetricDescriptorType)
assert.Equal(t, expected.MetricValueType, actual.MetricValueType)
assert.Equal(t, expected.NumPtLabels, actual.NumPtLabels)
require.Equal(t, expected.NumResourceAttrs, actual.NumResourceAttrs)
require.Equal(t, expected.NumPtsPerMetric, actual.NumPtsPerMetric)
require.Equal(t, expected.MetricDescriptorType, actual.MetricDescriptorType)
require.Equal(t, expected.MetricValueType, actual.MetricValueType)
require.Equal(t, expected.NumPtLabels, actual.NumPtLabels)
})
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ package goldendataset
import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestGenerateResource(t *testing.T) {
resourceIDs := []PICTInputResource{ResourceEmpty, ResourceVMOnPrem, ResourceVMCloud, ResourceK8sOnPrem, ResourceK8sCloud, ResourceFaas, ResourceExec}
for _, rscID := range resourceIDs {
rsc := GenerateResource(rscID)
if rscID == ResourceEmpty {
assert.Equal(t, 0, rsc.Attributes().Len())
require.Equal(t, 0, rsc.Attributes().Len())
} else {
assert.Positive(t, rsc.Attributes().Len())
require.Positive(t, rsc.Attributes().Len())
}
}
}
30 changes: 15 additions & 15 deletions internal/jptrace/translator/goldendataset/span_generator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"crypto/rand"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/pdata/ptrace"
)
Expand All @@ -29,10 +29,10 @@ func TestGenerateParentSpan(t *testing.T) {
}
span := ptrace.NewSpan()
fillSpan(traceID, pcommon.SpanID([8]byte{}), "/gotest-parent", spanInputs, random, span)
assert.Equal(t, traceID, span.TraceID())
assert.True(t, span.ParentSpanID().IsEmpty())
assert.Equal(t, 11, span.Attributes().Len())
assert.Equal(t, ptrace.StatusCodeOk, span.Status().Code())
require.Equal(t, traceID, span.TraceID())
require.True(t, span.ParentSpanID().IsEmpty())
require.Equal(t, 11, span.Attributes().Len())
require.Equal(t, ptrace.StatusCodeOk, span.Status().Code())
}

func TestGenerateChildSpan(t *testing.T) {
Expand All @@ -50,29 +50,29 @@ func TestGenerateChildSpan(t *testing.T) {
}
span := ptrace.NewSpan()
fillSpan(traceID, parentID, "get_test_info", spanInputs, random, span)
assert.Equal(t, traceID, span.TraceID())
assert.Equal(t, parentID, span.ParentSpanID())
assert.Equal(t, 12, span.Attributes().Len())
assert.Equal(t, ptrace.StatusCodeOk, span.Status().Code())
require.Equal(t, traceID, span.TraceID())
require.Equal(t, parentID, span.ParentSpanID())
require.Equal(t, 12, span.Attributes().Len())
require.Equal(t, ptrace.StatusCodeOk, span.Status().Code())
}

func TestGenerateSpans(t *testing.T) {
random := rand.Reader
count1 := 16
spans := ptrace.NewSpanSlice()
err := appendSpans(count1, "testdata/generated_pict_pairs_spans.txt", random, spans)
assert.NoError(t, err)
assert.Equal(t, count1, spans.Len())
require.NoError(t, err)
require.Equal(t, count1, spans.Len())

count2 := 256
spans = ptrace.NewSpanSlice()
err = appendSpans(count2, "testdata/generated_pict_pairs_spans.txt", random, spans)
assert.NoError(t, err)
assert.Equal(t, count2, spans.Len())
require.NoError(t, err)
require.Equal(t, count2, spans.Len())

count3 := 118
spans = ptrace.NewSpanSlice()
err = appendSpans(count3, "testdata/generated_pict_pairs_spans.txt", random, spans)
assert.NoError(t, err)
assert.Equal(t, count3, spans.Len())
require.NoError(t, err)
require.Equal(t, count3, spans.Len())
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ package goldendataset
import (
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestGenerateTraces(t *testing.T) {
rscSpans, err := GenerateTraces("testdata/generated_pict_pairs_traces.txt",
"testdata/generated_pict_pairs_spans.txt")
assert.NoError(t, err)
assert.Len(t, rscSpans, 32)
require.NoError(t, err)
require.Len(t, rscSpans, 32)
}
24 changes: 12 additions & 12 deletions internal/jptrace/translator/idutils/big_endian_converter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,44 @@ import (
"math"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/pdata/pcommon"
)

func TestUInt64ToTraceIDConversion(t *testing.T) {
assert.Equal(t,
require.Equal(t,
pcommon.TraceID([16]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}),
UInt64ToTraceID(0, 0),
"Failed 0 conversion:")
assert.Equal(t,
require.Equal(t,
pcommon.TraceID([16]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01}),
UInt64ToTraceID(256*256+256+1, 256+1),
"Failed simple conversion:")
assert.Equal(t,
require.Equal(t,
pcommon.TraceID([16]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05}),
UInt64ToTraceID(0, 5),
"Failed to convert 0 high:")
assert.Equal(t,
require.Equal(t,
UInt64ToTraceID(5, 0),
pcommon.TraceID([16]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}),
UInt64ToTraceID(5, 0),
"Failed to convert 0 low:")
assert.Equal(t,
require.Equal(t,
pcommon.TraceID([16]byte{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05}),
UInt64ToTraceID(math.MaxUint64, 5),
"Failed to convert MaxUint64:")
}

func TestUInt64ToSpanIDConversion(t *testing.T) {
assert.Equal(t,
require.Equal(t,
pcommon.SpanID([8]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}),
UInt64ToSpanID(0),
"Failed 0 conversion:")
assert.Equal(t,
require.Equal(t,
pcommon.SpanID([8]byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01}),
UInt64ToSpanID(256*256+256+1),
"Failed simple conversion:")
assert.Equal(t,
require.Equal(t,
pcommon.SpanID([8]byte{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}),
UInt64ToSpanID(math.MaxUint64),
"Failed to convert MaxUint64:")
Expand All @@ -57,11 +57,11 @@ func TestTraceIDUInt64RoundTrip(t *testing.T) {
wh := uint64(0x70605040302010FF)
wl := uint64(0x0001020304050607)
gh, gl := TraceIDToUInt64Pair(UInt64ToTraceID(wh, wl))
assert.Equal(t, wl, gl)
assert.Equal(t, wh, gh)
require.Equal(t, wl, gl)
require.Equal(t, wh, gh)
}

func TestSpanIdUInt64RoundTrip(t *testing.T) {
w := uint64(0x0001020304050607)
assert.Equal(t, w, SpanIDToUInt64(UInt64ToSpanID(w)))
require.Equal(t, w, SpanIDToUInt64(UInt64ToSpanID(w)))
}
14 changes: 14 additions & 0 deletions internal/jptrace/translator/idutils/package_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (c) 2025 The Jaeger Authors.
// SPDX-License-Identifier: Apache-2.0

package idutils

import (
"testing"

"github.com/jaegertracing/jaeger/pkg/testutils"
)

func TestMain(m *testing.M) {
testutils.VerifyGoLeaks(m)
}
53 changes: 26 additions & 27 deletions internal/jptrace/translator/jaegerproto_to_traces_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
"time"

"github.com/jaegertracing/jaeger-idl/model/v1"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/collector/pdata/pcommon"
"go.opentelemetry.io/collector/pdata/ptrace"
Expand Down Expand Up @@ -73,11 +72,11 @@ func TestCodeFromAttr(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
code, err := codeFromAttr(test.attr)
if test.err != nil {
assert.ErrorIs(t, err, test.err)
require.ErrorIs(t, err, test.err)
} else {
assert.NoError(t, err)
require.NoError(t, err)
}
assert.Equal(t, test.code, code)
require.Equal(t, test.code, code)
})
}
}
Expand Down Expand Up @@ -132,8 +131,8 @@ func TestGetStatusCodeFromHTTPStatusAttr(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
code, err := getStatusCodeFromHTTPStatusAttr(test.attr, test.kind)
assert.NoError(t, err)
assert.Equal(t, test.code, code)
require.NoError(t, err)
require.Equal(t, test.code, code)
})
}
}
Expand Down Expand Up @@ -319,8 +318,8 @@ func TestProtoToTraces(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
td, err := ProtoToTraces(test.jb)
assert.NoError(t, err)
assert.EqualValues(t, test.td, td)
require.NoError(t, err)
require.EqualValues(t, test.td, td)
})
}
}
Expand Down Expand Up @@ -371,19 +370,19 @@ func TestProtoBatchToInternalTracesWithTwoLibraries(t *testing.T) {
library2Span := expected.ResourceSpans().At(0).ScopeSpans().At(1)

actual, err := ProtoToTraces([]*model.Batch{jb})
assert.NoError(t, err)
require.NoError(t, err)

assert.Equal(t, 1, actual.ResourceSpans().Len())
assert.Equal(t, 2, actual.ResourceSpans().At(0).ScopeSpans().Len())
require.Equal(t, 1, actual.ResourceSpans().Len())
require.Equal(t, 2, actual.ResourceSpans().At(0).ScopeSpans().Len())

ils0 := actual.ResourceSpans().At(0).ScopeSpans().At(0)
ils1 := actual.ResourceSpans().At(0).ScopeSpans().At(1)
if ils0.Scope().Name() == "library1" {
assert.EqualValues(t, library1Span, ils0)
assert.EqualValues(t, library2Span, ils1)
require.EqualValues(t, library1Span, ils0)
require.EqualValues(t, library2Span, ils1)
} else {
assert.EqualValues(t, library1Span, ils1)
assert.EqualValues(t, library2Span, ils0)
require.EqualValues(t, library1Span, ils1)
require.EqualValues(t, library2Span, ils0)
}
}

Expand Down Expand Up @@ -497,10 +496,10 @@ func TestSetInternalSpanStatus(t *testing.T) {
span.SetKind(test.kind)
status := span.Status()
attrs := pcommon.NewMap()
assert.NoError(t, attrs.FromRaw(test.attrs))
require.NoError(t, attrs.FromRaw(test.attrs))
setInternalSpanStatus(attrs, span)
assert.EqualValues(t, test.status, status)
assert.Equal(t, test.attrsModifiedLen, attrs.Len())
require.EqualValues(t, test.status, status)
require.Equal(t, test.attrsModifiedLen, attrs.Len())
})
}
}
Expand Down Expand Up @@ -534,10 +533,10 @@ func TestProtoBatchesToInternalTraces(t *testing.T) {

got, err := ProtoToTraces(batches)

assert.NoError(t, err)
require.NoError(t, err)

assert.Equal(t, expected.ResourceSpans().Len(), got.ResourceSpans().Len())
assert.Equal(t, expected.SpanCount(), got.SpanCount())
require.Equal(t, expected.ResourceSpans().Len(), got.ResourceSpans().Len())
require.Equal(t, expected.SpanCount(), got.SpanCount())

lenbatches := expected.ResourceSpans().Len()
found := 0
Expand All @@ -549,8 +548,8 @@ func TestProtoBatchesToInternalTraces(t *testing.T) {
nameExpected := rsExpected.ScopeSpans().At(0).Spans().At(0).Name()
nameGot := got.ResourceSpans().At(j).ScopeSpans().At(0).Scope().Name()
if nameExpected == nameGot {
assert.Equal(t, nameGot, found)
assert.Equal(t, got.SpanCount(), found)
require.Equal(t, nameGot, found)
require.Equal(t, got.SpanCount(), found)
}
return nameExpected == nameGot
})
Expand Down Expand Up @@ -591,7 +590,7 @@ func TestJSpanKindToInternal(t *testing.T) {

for _, test := range tests {
t.Run(test.jSpanKind, func(t *testing.T) {
assert.Equal(t, test.otlpSpanKind, jSpanKindToInternal(test.jSpanKind))
require.Equal(t, test.otlpSpanKind, jSpanKindToInternal(test.jSpanKind))
})
}
}
Expand Down Expand Up @@ -632,7 +631,7 @@ func TestRegroup(t *testing.T) {
result := regroup(originalBatches)

// verify
assert.ElementsMatch(t, expected, result)
require.ElementsMatch(t, expected, result)
}

func TestChecksum(t *testing.T) {
Expand All @@ -657,7 +656,7 @@ func TestChecksum(t *testing.T) {
for _, tC := range testCases {
t.Run(tC.desc, func(t *testing.T) {
out := checksum(tC.input)
assert.Equal(t, tC.expected, out)
require.Equal(t, tC.expected, out)
})
}
}
Expand Down Expand Up @@ -1066,7 +1065,7 @@ func BenchmarkProtoBatchToInternalTraces(b *testing.B) {
b.ResetTimer()
for n := 0; n < b.N; n++ {
_, err := ProtoToTraces(jb)
assert.NoError(b, err)
require.NoError(b, err)
}
}

Expand Down
Loading

0 comments on commit 12b6256

Please sign in to comment.