From 6845ca55cbc0b11baa0bc887a3f0011f214edbe0 Mon Sep 17 00:00:00 2001 From: Matthieu MOREL Date: Thu, 12 Sep 2024 21:39:09 +0000 Subject: [PATCH] [chore]: enable float-compare rule from testifylint Signed-off-by: Matthieu MOREL --- .golangci.yml | 1 - Makefile.Common | 2 +- connector/routingconnector/metrics_test.go | 4 +- .../alertmanager_exporter_test.go | 2 +- exporter/awsemfexporter/datapoint_test.go | 12 +++--- .../metrics/series_deprecated_test.go | 8 ++-- .../internal/metrics/series_test.go | 6 +-- .../metrics/sketches/sketches_test.go | 8 ++-- exporter/logzioexporter/exporter_test.go | 4 +- .../prometheusexporter/accumulator_test.go | 10 ++--- internal/aws/containerinsight/utils_test.go | 2 +- .../aws/metrics/metric_calculator_test.go | 14 +++---- pkg/sampling/encoding_test.go | 6 +-- pkg/sampling/oteltracestate_test.go | 4 +- .../internal/tracking/tracker_test.go | 2 +- .../processor_test.go | 6 +-- .../deltatorateprocessor/processor_test.go | 4 +- .../processor_test.go | 2 +- .../metricsgenerationprocessor/utils_test.go | 18 ++++----- .../sampler_mode_test.go | 2 +- .../tracesprocessor_test.go | 2 +- processor/remotetapprocessor/config_test.go | 2 +- processor/routingprocessor/metrics_test.go | 2 +- .../k8sapiserver/k8sapiserver_test.go | 2 +- .../internal/stores/podstore_test.go | 38 +++++++++---------- .../accumulator_test.go | 8 ++-- .../metadata/metricsdatapoint_test.go | 2 +- .../internal/metadata/metricvalue_test.go | 8 ++-- .../loadscraper/load_scraper_windows_test.go | 6 +-- .../paging_scraper_windows_test.go | 4 +- .../metrics_receiver_helper_test.go | 14 +++---- receiver/redisreceiver/latencystats_test.go | 8 ++-- 32 files changed, 106 insertions(+), 107 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index ec43cda68833..7318835b2a1b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -134,7 +134,6 @@ linters-settings: testifylint: disable: - - float-compare - formatter - go-require - require-error diff --git a/Makefile.Common b/Makefile.Common index 2e9b53cfe422..b98746a959de 100644 --- a/Makefile.Common +++ b/Makefile.Common @@ -77,7 +77,7 @@ GOTESTSUM := $(TOOLS_BIN_DIR)/gotestsum TESTIFYLINT := $(TOOLS_BIN_DIR)/testifylint GOTESTSUM_OPT?= --rerun-fails=1 -TESTIFYLINT_OPT?= --enable-all --disable=float-compare,formatter,go-require,require-error,suite-subtest-run,useless-assert +TESTIFYLINT_OPT?= --enable-all --disable=formatter,go-require,require-error,suite-subtest-run,useless-assert # BUILD_TYPE should be one of (dev, release). BUILD_TYPE?=release diff --git a/connector/routingconnector/metrics_test.go b/connector/routingconnector/metrics_test.go index 82fe74855bc9..938215e20d56 100644 --- a/connector/routingconnector/metrics_test.go +++ b/connector/routingconnector/metrics_test.go @@ -219,7 +219,7 @@ func TestMetricsAreCorrectlySplitPerResourceAttributeWithOTTL(t *testing.T) { rmetric := defaultSink.AllMetrics()[0].ResourceMetrics().At(0) attr, ok := rmetric.Resource().Attributes().Get("value") assert.True(t, ok, "routing attribute must exist") - assert.Equal(t, attr.Double(), float64(-1.0)) + assert.InDelta(t, attr.Double(), float64(-1.0), 0.01) }) t.Run("metric matched by one expression, multiple pipelines", func(t *testing.T) { @@ -386,7 +386,7 @@ func TestMetricsAreCorrectlyMatchOnceWithOTTL(t *testing.T) { rmetric := defaultSink.AllMetrics()[0].ResourceMetrics().At(0) attr, ok := rmetric.Resource().Attributes().Get("value") assert.True(t, ok, "routing attribute must exist") - assert.Equal(t, attr.Double(), float64(-1.0)) + assert.InDelta(t, attr.Double(), float64(-1.0), 0.01) }) t.Run("metric matched by one expression, multiple pipelines", func(t *testing.T) { diff --git a/exporter/alertmanagerexporter/alertmanager_exporter_test.go b/exporter/alertmanagerexporter/alertmanager_exporter_test.go index 0dec06561975..fc67adb0e066 100644 --- a/exporter/alertmanagerexporter/alertmanager_exporter_test.go +++ b/exporter/alertmanagerexporter/alertmanager_exporter_test.go @@ -143,7 +143,7 @@ func TestAlertManagerExporterEventNameAttributes(t *testing.T) { assert.Equal(t, "unittest-baz", attr.AsString()) attr, b = got[0].spanEvent.Attributes().Get("attr3") assert.True(t, b) - assert.Equal(t, 5.14, attr.Double()) + assert.InDelta(t, 5.14, attr.Double(), 0.01) } func TestAlertManagerExporterSeverity(t *testing.T) { diff --git a/exporter/awsemfexporter/datapoint_test.go b/exporter/awsemfexporter/datapoint_test.go index 597f1d4b091c..4eebe5106756 100644 --- a/exporter/awsemfexporter/datapoint_test.go +++ b/exporter/awsemfexporter/datapoint_test.go @@ -1473,7 +1473,7 @@ func TestGetDataPoints(t *testing.T) { dp := convertedDPS.NumberDataPointSlice.At(0) switch dp.ValueType() { case pmetric.NumberDataPointValueTypeDouble: - assert.Equal(t, 0.1, dp.DoubleValue()) + assert.InDelta(t, 0.1, dp.DoubleValue(), 0.01) case pmetric.NumberDataPointValueTypeInt: assert.Equal(t, int64(1), dp.IntValue()) } @@ -1481,14 +1481,14 @@ func TestGetDataPoints(t *testing.T) { case histogramDataPointSlice: assert.Equal(t, 1, convertedDPS.Len()) dp := convertedDPS.HistogramDataPointSlice.At(0) - assert.Equal(t, 35.0, dp.Sum()) + assert.InDelta(t, 35.0, dp.Sum(), 0.01) assert.Equal(t, uint64(18), dp.Count()) assert.Equal(t, []float64{0, 10}, dp.ExplicitBounds().AsRaw()) assert.Equal(t, tc.expectedAttributes, dp.Attributes().AsRaw()) case exponentialHistogramDataPointSlice: assert.Equal(t, 1, convertedDPS.Len()) dp := convertedDPS.ExponentialHistogramDataPointSlice.At(0) - assert.Equal(t, float64(0), dp.Sum()) + assert.InDelta(t, float64(0), dp.Sum(), 0.01) assert.Equal(t, uint64(4), dp.Count()) assert.Equal(t, []uint64{1, 0, 1}, dp.Positive().BucketCounts().AsRaw()) assert.Equal(t, []uint64{1, 0, 1}, dp.Negative().BucketCounts().AsRaw()) @@ -1499,11 +1499,11 @@ func TestGetDataPoints(t *testing.T) { assert.Equal(t, expectedDPS.deltaMetricMetadata, convertedDPS.deltaMetricMetadata) assert.Equal(t, 1, convertedDPS.Len()) dp := convertedDPS.SummaryDataPointSlice.At(0) - assert.Equal(t, 15.0, dp.Sum()) + assert.InDelta(t, 15.0, dp.Sum(), 0.01) assert.Equal(t, uint64(5), dp.Count()) assert.Equal(t, 2, dp.QuantileValues().Len()) - assert.Equal(t, float64(1), dp.QuantileValues().At(0).Value()) - assert.Equal(t, float64(5), dp.QuantileValues().At(1).Value()) + assert.InDelta(t, float64(1), dp.QuantileValues().At(0).Value(), 0.01) + assert.InDelta(t, float64(5), dp.QuantileValues().At(1).Value(), 0.01) assert.Equal(t, tc.expectedAttributes, dp.Attributes().AsRaw()) } }) diff --git a/exporter/datadogexporter/internal/metrics/series_deprecated_test.go b/exporter/datadogexporter/internal/metrics/series_deprecated_test.go index 4ca397ca8010..40106de223cc 100644 --- a/exporter/datadogexporter/internal/metrics/series_deprecated_test.go +++ b/exporter/datadogexporter/internal/metrics/series_deprecated_test.go @@ -20,9 +20,9 @@ func TestNewZorkianMetric(t *testing.T) { assert.Equal(t, "test.metric", *metric.Metric) // Assert timestamp conversion from uint64 ns to float64 s - assert.Equal(t, 1.0, *metric.Points[0][0]) + assert.InDelta(t, 1.0, *metric.Points[0][0], 0.01) // Assert value - assert.Equal(t, 2.0, *metric.Points[0][1]) + assert.InDelta(t, 2.0, *metric.Points[0][1], 0.01) // Assert tags assert.Equal(t, []string{"tag:value"}, metric.Tags) } @@ -53,9 +53,9 @@ func TestDefaultZorkianMetrics(t *testing.T) { // Assert metrics list length (should be 1) assert.Len(t, ms, 1) // Assert timestamp - assert.Equal(t, 2.0, *ms[0].Points[0][0]) + assert.InDelta(t, 2.0, *ms[0].Points[0][0], 0.01) // Assert value (should always be 1.0) - assert.Equal(t, 1.0, *ms[0].Points[0][1]) + assert.InDelta(t, 1.0, *ms[0].Points[0][1], 0.01) // Assert hostname tag is set assert.Equal(t, "test-host", *ms[0].Host) // Assert no other tags are set diff --git a/exporter/datadogexporter/internal/metrics/series_test.go b/exporter/datadogexporter/internal/metrics/series_test.go index 7df7e9b258d1..96d1fdb260d5 100644 --- a/exporter/datadogexporter/internal/metrics/series_test.go +++ b/exporter/datadogexporter/internal/metrics/series_test.go @@ -23,7 +23,7 @@ func TestNewMetricSeries(t *testing.T) { // Assert timestamp conversion from uint64 ns to int64 s assert.Equal(t, int64(1), *metric.Points[0].Timestamp) // Assert value - assert.Equal(t, 2.0, *metric.Points[0].Value) + assert.InDelta(t, 2.0, *metric.Points[0].Value, 0.01) // Assert tags assert.Equal(t, []string{"tag:value"}, metric.Tags) } @@ -55,7 +55,7 @@ func TestDefaultMetrics(t *testing.T) { // Assert timestamp assert.Equal(t, int64(2), *ms[0].Points[0].Timestamp) // Assert value (should always be 1.0) - assert.Equal(t, 1.0, *ms[0].Points[0].Value) + assert.InDelta(t, 1.0, *ms[0].Points[0].Value, 0.01) // Assert hostname tag is set assert.Equal(t, "test-host", *ms[0].Resources[0].Name) // Assert no other tags are set @@ -77,7 +77,7 @@ func TestDefaultMetricsWithRuntimeMetrics(t *testing.T) { // Assert timestamp assert.Equal(t, int64(2), *ms[0].Points[0].Timestamp) // Assert value (should always be 1.0) - assert.Equal(t, 1.0, *ms[0].Points[0].Value) + assert.InDelta(t, 1.0, *ms[0].Points[0].Value, 0.01) // Assert hostname tag is set assert.Equal(t, "test-host", *ms[0].Resources[0].Name) // Assert no other tags are set diff --git a/exporter/datadogexporter/internal/metrics/sketches/sketches_test.go b/exporter/datadogexporter/internal/metrics/sketches/sketches_test.go index 68b5518ad0f0..355a8a2d50a6 100644 --- a/exporter/datadogexporter/internal/metrics/sketches/sketches_test.go +++ b/exporter/datadogexporter/internal/metrics/sketches/sketches_test.go @@ -60,10 +60,10 @@ func check(t *testing.T, in SketchPoint, pb gogen.SketchPayload_Sketch_Dogsketch // summary require.Equal(t, b.Cnt, pb.Cnt) - require.Equal(t, b.Min, pb.Min) - require.Equal(t, b.Max, pb.Max) - require.Equal(t, b.Avg, pb.Avg) - require.Equal(t, b.Sum, pb.Sum) + require.InDelta(t, b.Min, pb.Min, 0.01) + require.InDelta(t, b.Max, pb.Max, 0.01) + require.InDelta(t, b.Avg, pb.Avg, 0.01) + require.InDelta(t, b.Sum, pb.Sum, 0.01) } func TestSketchSeriesListMarshal(t *testing.T) { diff --git a/exporter/logzioexporter/exporter_test.go b/exporter/logzioexporter/exporter_test.go index f6a172e9ca99..af1639306eea 100644 --- a/exporter/logzioexporter/exporter_test.go +++ b/exporter/logzioexporter/exporter_test.go @@ -295,11 +295,11 @@ func TestPushLogsData(tester *testing.T) { assert.Equal(tester, testHost, jsonLog["host.name"]) assert.Equal(tester, testService, jsonLog["service.name"]) assert.Equal(tester, "server", jsonLog["app"]) - assert.Equal(tester, 1.0, jsonLog["instance_num"]) + assert.InDelta(tester, 1.0, jsonLog["instance_num"], 0.01) assert.Equal(tester, "logScopeName", jsonLog["scopeName"]) assert.Equal(tester, "hello there", jsonLog["message"]) assert.Equal(tester, "bar", jsonLog["foo"]) - assert.Equal(tester, 45.0, jsonLog["23"]) + assert.InDelta(tester, 45.0, jsonLog["23"], 0.01) } func TestMergeMapEntries(tester *testing.T) { diff --git a/exporter/prometheusexporter/accumulator_test.go b/exporter/prometheusexporter/accumulator_test.go index d8858c569c9c..0337b2d4ce21 100644 --- a/exporter/prometheusexporter/accumulator_test.go +++ b/exporter/prometheusexporter/accumulator_test.go @@ -256,7 +256,7 @@ func TestAccumulateMetrics(t *testing.T) { return true }) require.Equal(t, m2Labels.Len(), vLabels.Len()) - require.Equal(t, m2Value, vValue) + require.InDelta(t, m2Value, vValue, 0.01) require.Equal(t, ts2.Unix(), vTS.Unix()) require.Greater(t, v.updated.Unix(), vTS.Unix()) require.Equal(t, m2Temporality, vTemporality) @@ -280,7 +280,7 @@ func TestAccumulateMetrics(t *testing.T) { v = m.(*accumulatedValue) _, vTS, vValue, _, _ = getMetricProperties(v.value) - require.Equal(t, m3Value, vValue) + require.InDelta(t, m3Value, vValue, 0.01) require.Equal(t, ts3.Unix(), vTS.Unix()) }) } @@ -370,8 +370,8 @@ func TestAccumulateDeltaToCumulative(t *testing.T) { return true }) require.Equal(t, mLabels.Len(), vLabels.Len()) - require.Equal(t, mValue, vValue) - require.Equal(t, dataPointValue1+dataPointValue2, vValue) + require.InDelta(t, mValue, vValue, 0.01) + require.InDelta(t, dataPointValue1+dataPointValue2, vValue, 0.01) require.Equal(t, pmetric.AggregationTemporalityCumulative, vTemporality) require.True(t, vIsMonotonic) @@ -419,7 +419,7 @@ func TestAccumulateDeltaToCumulativeHistogram(t *testing.T) { v := m.(*accumulatedValue).value.Histogram().DataPoints().At(0) require.True(t, ok) - require.Equal(t, m1.Sum()+m2.Sum(), v.Sum()) + require.InDelta(t, m1.Sum()+m2.Sum(), v.Sum(), 0.01) require.Equal(t, m1.Count()+m2.Count(), v.Count()) for i := 0; i < v.BucketCounts().Len(); i++ { diff --git a/internal/aws/containerinsight/utils_test.go b/internal/aws/containerinsight/utils_test.go index 87458895ac70..f34aaedc575a 100644 --- a/internal/aws/containerinsight/utils_test.go +++ b/internal/aws/containerinsight/utils_test.go @@ -170,7 +170,7 @@ func checkMetricsAreExpected(t *testing.T, md pmetric.Metrics, fields map[string dp := dps.At(0) switch dp.ValueType() { case pmetric.NumberDataPointValueTypeDouble: - assert.Equal(t, convertToFloat64(fields[metricName]), dp.DoubleValue()) + assert.InDelta(t, convertToFloat64(fields[metricName]), dp.DoubleValue(), 0.01) case pmetric.NumberDataPointValueTypeInt: assert.Equal(t, convertToInt64(fields[metricName]), dp.IntValue()) } diff --git a/internal/aws/metrics/metric_calculator_test.go b/internal/aws/metrics/metric_calculator_test.go index 627c1105137a..3592bfa2b3f1 100644 --- a/internal/aws/metrics/metric_calculator_test.go +++ b/internal/aws/metrics/metric_calculator_test.go @@ -20,7 +20,7 @@ func TestFloat64RateCalculator(t *testing.T) { c := newFloat64RateCalculator() r, ok := c.Calculate(mKey, float64(50), initTime) assert.False(t, ok) - assert.Equal(t, float64(0), r) + assert.InDelta(t, float64(0), r, 0.01) nextTime := initTime.Add(100 * time.Millisecond) r, ok = c.Calculate(mKey, float64(100), nextTime) @@ -35,14 +35,14 @@ func TestFloat64RateCalculatorWithTooFrequentUpdate(t *testing.T) { c := newFloat64RateCalculator() r, ok := c.Calculate(mKey, float64(50), initTime) assert.False(t, ok) - assert.Equal(t, float64(0), r) + assert.InDelta(t, float64(0), r, 0.01) nextTime := initTime for i := 0; i < 10; i++ { nextTime = nextTime.Add(5 * time.Millisecond) r, ok = c.Calculate(mKey, float64(105), nextTime) assert.False(t, ok) - assert.Equal(t, float64(0), r) + assert.InDelta(t, float64(0), r, 0.01) } nextTime = nextTime.Add(5 * time.Millisecond) @@ -75,7 +75,7 @@ func TestFloat64DeltaCalculator(t *testing.T) { r, ok := c.Calculate(mKey, f, initTime) assert.Equal(t, i > 0, ok) if i == 0 { - assert.Equal(t, float64(0), r) + assert.InDelta(t, float64(0), r, 0.01) } else { assert.InDelta(t, f-testCases[i-1], r, f/10) } @@ -93,7 +93,7 @@ func TestFloat64DeltaCalculatorWithDecreasingValues(t *testing.T) { r, ok := c.Calculate(mKey, f, initTime) assert.Equal(t, i > 0, ok) if ok { - assert.Equal(t, testCases[i]-testCases[i-1], r) + assert.InDelta(t, testCases[i]-testCases[i-1], r, 0.01) } } require.NoError(t, c.Shutdown()) @@ -107,7 +107,7 @@ func TestMapWithExpiryAdd(t *testing.T) { val, ok := store.Get(Key{MetricMetadata: "key1"}) store.Unlock() assert.True(t, ok) - assert.Equal(t, value1, val.RawValue) + assert.InDelta(t, value1, val.RawValue, 0.01) store.Lock() defer store.Unlock() @@ -135,7 +135,7 @@ func TestMapWithExpiryCleanup(t *testing.T) { val, ok := store.Get(Key{MetricMetadata: "key1"}) assert.True(t, ok) - assert.Equal(t, value1, val.RawValue.(float64)) + assert.InDelta(t, value1, val.RawValue.(float64), 0.01) assert.Equal(t, 1, store.Size()) store.Unlock() diff --git a/pkg/sampling/encoding_test.go b/pkg/sampling/encoding_test.go index 7a0fc3defc02..2441d5d53975 100644 --- a/pkg/sampling/encoding_test.go +++ b/pkg/sampling/encoding_test.go @@ -101,9 +101,9 @@ func TestInvalidprobabilityToTValue(t *testing.T) { } func TestTValueToProbability(t *testing.T) { - require.Equal(t, 0.5, must(tValueToProbability("8"))) - require.Equal(t, 1-0x444p-12, must(tValueToProbability("444"))) - require.Equal(t, 1.0, must(tValueToProbability("0"))) + require.InDelta(t, 0.5, must(tValueToProbability("8")), 0.01) + require.InDelta(t, 1-0x444p-12, must(tValueToProbability("444")), 0.01) + require.InDelta(t, 1.0, must(tValueToProbability("0")), 0.01) // 0x55555554p-32 is very close to 1/3 require.InEpsilon(t, 1-1/3., must(tValueToProbability("55555554")), 1e-9) diff --git a/pkg/sampling/oteltracestate_test.go b/pkg/sampling/oteltracestate_test.go index 6763e6d9e177..b638df02485c 100644 --- a/pkg/sampling/oteltracestate_test.go +++ b/pkg/sampling/oteltracestate_test.go @@ -48,7 +48,7 @@ func TestOpenTelemetryTraceStateTValueSerialize(t *testing.T) { require.Equal(t, "3", otts.TValue()) tv, hasTv := otts.TValueThreshold() require.True(t, hasTv) - require.Equal(t, 1-0x3p-4, tv.Probability()) + require.InDelta(t, 1-0x3p-4, tv.Probability(), 0.01) require.NotEqual(t, "", otts.RValue()) require.Equal(t, "10000000000000", otts.RValue()) @@ -109,7 +109,7 @@ func TestOpenTelemetryTraceStateTValueUpdate(t *testing.T) { require.Equal(t, "3", otts.TValue()) tv, hasTv := otts.TValueThreshold() require.True(t, hasTv) - require.Equal(t, 1-0x3p-4, tv.Probability()) + require.InDelta(t, 1-0x3p-4, tv.Probability(), 0.01) const updated = "rv:abcdefabcdefab;th:3" var w strings.Builder diff --git a/processor/cumulativetodeltaprocessor/internal/tracking/tracker_test.go b/processor/cumulativetodeltaprocessor/internal/tracking/tracker_test.go index 8312532b7e4c..464caceff173 100644 --- a/processor/cumulativetodeltaprocessor/internal/tracking/tracker_test.go +++ b/processor/cumulativetodeltaprocessor/internal/tracking/tracker_test.go @@ -216,7 +216,7 @@ func TestMetricTracker_Convert(t *testing.T) { if !ttt.noOut { require.True(t, valid) assert.Equal(t, ttt.wantOut.StartTimestamp, gotOut.StartTimestamp) - assert.Equal(t, ttt.wantOut.FloatValue, gotOut.FloatValue) + assert.InDelta(t, ttt.wantOut.FloatValue, gotOut.FloatValue, 0.01) } gotOut, valid = m.Convert(intPoint) diff --git a/processor/cumulativetodeltaprocessor/processor_test.go b/processor/cumulativetodeltaprocessor/processor_test.go index 9a1bc46cea62..c26d11946391 100644 --- a/processor/cumulativetodeltaprocessor/processor_test.go +++ b/processor/cumulativetodeltaprocessor/processor_test.go @@ -485,7 +485,7 @@ func TestCumulativeToDeltaProcessor(t *testing.T) { require.Equal(t, eDataPoints.Len(), aDataPoints.Len()) for j := 0; j < eDataPoints.Len(); j++ { - require.Equal(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue()) + require.InDelta(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue(), 0.01) } } @@ -500,7 +500,7 @@ func TestCumulativeToDeltaProcessor(t *testing.T) { if math.IsNaN(eDataPoints.At(j).DoubleValue()) { assert.True(t, math.IsNaN(aDataPoints.At(j).DoubleValue())) } else { - require.Equal(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue()) + require.InDelta(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue(), 0.01) } require.Equal(t, eDataPoints.At(j).Flags(), aDataPoints.At(j).Flags()) } @@ -521,7 +521,7 @@ func TestCumulativeToDeltaProcessor(t *testing.T) { if math.IsNaN(eDataPoints.At(j).Sum()) { require.True(t, math.IsNaN(aDataPoints.At(j).Sum())) } else { - require.Equal(t, eDataPoints.At(j).Sum(), aDataPoints.At(j).Sum()) + require.InDelta(t, eDataPoints.At(j).Sum(), aDataPoints.At(j).Sum(), 0.01) } require.Equal(t, eDataPoints.At(j).BucketCounts(), aDataPoints.At(j).BucketCounts()) require.Equal(t, eDataPoints.At(j).Flags(), aDataPoints.At(j).Flags()) diff --git a/processor/deltatorateprocessor/processor_test.go b/processor/deltatorateprocessor/processor_test.go index dd0b171d409f..e669c985476d 100644 --- a/processor/deltatorateprocessor/processor_test.go +++ b/processor/deltatorateprocessor/processor_test.go @@ -157,7 +157,7 @@ func TestCumulativeToDeltaProcessor(t *testing.T) { require.Equal(t, eDataPoints.Len(), aDataPoints.Len()) for j := 0; j < eDataPoints.Len(); j++ { - require.Equal(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue()) + require.InDelta(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue(), 0.01) } } @@ -169,7 +169,7 @@ func TestCumulativeToDeltaProcessor(t *testing.T) { require.Equal(t, eM.Sum().AggregationTemporality(), aM.Sum().AggregationTemporality()) for j := 0; j < eDataPoints.Len(); j++ { - require.Equal(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue()) + require.InDelta(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue(), 0.01) } } diff --git a/processor/metricsgenerationprocessor/processor_test.go b/processor/metricsgenerationprocessor/processor_test.go index 49cd25058abe..b417b9115527 100644 --- a/processor/metricsgenerationprocessor/processor_test.go +++ b/processor/metricsgenerationprocessor/processor_test.go @@ -314,7 +314,7 @@ func TestMetricsGenerationProcessor(t *testing.T) { for j := 0; j < eDataPoints.Len(); j++ { switch eDataPoints.At(j).ValueType() { case pmetric.NumberDataPointValueTypeDouble: - require.Equal(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue()) + require.InDelta(t, eDataPoints.At(j).DoubleValue(), aDataPoints.At(j).DoubleValue(), 0.01) case pmetric.NumberDataPointValueTypeInt: require.Equal(t, eDataPoints.At(j).IntValue(), aDataPoints.At(j).IntValue()) } diff --git a/processor/metricsgenerationprocessor/utils_test.go b/processor/metricsgenerationprocessor/utils_test.go index 5558ba36210f..278f7e067d62 100644 --- a/processor/metricsgenerationprocessor/utils_test.go +++ b/processor/metricsgenerationprocessor/utils_test.go @@ -13,28 +13,28 @@ import ( func TestCalculateValue(t *testing.T) { value := calculateValue(100.0, 5.0, "add", zap.NewNop(), "test_metric") - require.Equal(t, 105.0, value) + require.InDelta(t, 105.0, value, 0.01) value = calculateValue(100.0, 5.0, "subtract", zap.NewNop(), "test_metric") - require.Equal(t, 95.0, value) + require.InDelta(t, 95.0, value, 0.01) value = calculateValue(100.0, 5.0, "multiply", zap.NewNop(), "test_metric") - require.Equal(t, 500.0, value) + require.InDelta(t, 500.0, value, 0.01) value = calculateValue(100.0, 5.0, "divide", zap.NewNop(), "test_metric") - require.Equal(t, 20.0, value) + require.InDelta(t, 20.0, value, 0.01) value = calculateValue(10.0, 200.0, "percent", zap.NewNop(), "test_metric") - require.Equal(t, 5.0, value) + require.InDelta(t, 5.0, value, 0.01) value = calculateValue(100.0, 0, "divide", zap.NewNop(), "test_metric") - require.Equal(t, 0.0, value) + require.InDelta(t, 0.0, value, 0.01) value = calculateValue(100.0, 0, "percent", zap.NewNop(), "test_metric") - require.Equal(t, 0.0, value) + require.InDelta(t, 0.0, value, 0.01) value = calculateValue(100.0, 0, "invalid", zap.NewNop(), "test_metric") - require.Equal(t, 0.0, value) + require.InDelta(t, 0.0, value, 0.01) } func TestGetMetricValueWithNoDataPoint(t *testing.T) { @@ -47,5 +47,5 @@ func TestGetMetricValueWithNoDataPoint(t *testing.T) { m.SetEmptyGauge() value := getMetricValue(md.ResourceMetrics().At(0).ScopeMetrics().At(0).Metrics().At(0)) - require.Equal(t, 0.0, value) + require.InDelta(t, 0.0, value, 0.01) } diff --git a/processor/probabilisticsamplerprocessor/sampler_mode_test.go b/processor/probabilisticsamplerprocessor/sampler_mode_test.go index d0a2aef2a472..706f0e743bc9 100644 --- a/processor/probabilisticsamplerprocessor/sampler_mode_test.go +++ b/processor/probabilisticsamplerprocessor/sampler_mode_test.go @@ -57,7 +57,7 @@ func TestHashSeedRoundingDown(t *testing.T) { // would round up, but it does not. const pct = 0x3p-16 * 100 - require.Equal(t, 1.0, math.Round((pct/100)*numHashBuckets)) + require.InDelta(t, 1.0, math.Round((pct/100)*numHashBuckets), 0.01) for _, isLogs := range []bool{false, true} { cfg := Config{ diff --git a/processor/probabilisticsamplerprocessor/tracesprocessor_test.go b/processor/probabilisticsamplerprocessor/tracesprocessor_test.go index a55a54bee808..ed0410bf49d9 100644 --- a/processor/probabilisticsamplerprocessor/tracesprocessor_test.go +++ b/processor/probabilisticsamplerprocessor/tracesprocessor_test.go @@ -889,7 +889,7 @@ func Test_tracesamplerprocessor_TraceState(t *testing.T) { require.NoError(t, err) switch { case expectCount == 0: - assert.Equal(t, 0.0, gotTs.OTelValue().AdjustedCount()) + assert.InDelta(t, 0.0, gotTs.OTelValue().AdjustedCount(), 0.01) case cfg.SamplingPrecision == 0: assert.InEpsilon(t, expectCount, gotTs.OTelValue().AdjustedCount(), 1e-9, "compare %v %v", expectCount, gotTs.OTelValue().AdjustedCount()) diff --git a/processor/remotetapprocessor/config_test.go b/processor/remotetapprocessor/config_test.go index 8c8e2633c7fb..58dff303b8ab 100644 --- a/processor/remotetapprocessor/config_test.go +++ b/processor/remotetapprocessor/config_test.go @@ -12,5 +12,5 @@ import ( func TestCreateDefaultConfig(t *testing.T) { cfg := createDefaultConfig().(*Config) assert.Equal(t, "localhost:12001", cfg.Endpoint) - assert.EqualValues(t, 1, cfg.Limit) + assert.InDelta(t, 1.0, cfg.Limit, 0.01) } diff --git a/processor/routingprocessor/metrics_test.go b/processor/routingprocessor/metrics_test.go index 87e6e1614eb4..34bd7c881cb8 100644 --- a/processor/routingprocessor/metrics_test.go +++ b/processor/routingprocessor/metrics_test.go @@ -468,7 +468,7 @@ func TestMetricsAreCorrectlySplitPerResourceAttributeRoutingWithOTTL(t *testing. rmetric := defaultExp.AllMetrics()[0].ResourceMetrics().At(0) attr, ok := rmetric.Resource().Attributes().Get("value") assert.True(t, ok, "routing attribute must exists") - assert.Equal(t, attr.Double(), float64(-1.0)) + assert.InDelta(t, attr.Double(), float64(-1.0), 0.01) }) } diff --git a/receiver/awscontainerinsightreceiver/internal/k8sapiserver/k8sapiserver_test.go b/receiver/awscontainerinsightreceiver/internal/k8sapiserver/k8sapiserver_test.go index a064d48723df..a530ec91a5d5 100644 --- a/receiver/awscontainerinsightreceiver/internal/k8sapiserver/k8sapiserver_test.go +++ b/receiver/awscontainerinsightreceiver/internal/k8sapiserver/k8sapiserver_test.go @@ -125,7 +125,7 @@ func assertMetricValueEqual(t *testing.T, m pmetric.Metrics, metricName string, if metric.Type() == pmetric.MetricTypeGauge { switch metric.Gauge().DataPoints().At(0).ValueType() { case pmetric.NumberDataPointValueTypeDouble: - assert.Equal(t, expected, metric.Gauge().DataPoints().At(0).DoubleValue()) + assert.InDelta(t, expected, metric.Gauge().DataPoints().At(0).DoubleValue(), 0.01) case pmetric.NumberDataPointValueTypeInt: assert.Equal(t, expected, metric.Gauge().DataPoints().At(0).IntValue()) case pmetric.NumberDataPointValueTypeEmpty: diff --git a/receiver/awscontainerinsightreceiver/internal/stores/podstore_test.go b/receiver/awscontainerinsightreceiver/internal/stores/podstore_test.go index cefbe4f56c8a..d38a1e776655 100644 --- a/receiver/awscontainerinsightreceiver/internal/stores/podstore_test.go +++ b/receiver/awscontainerinsightreceiver/internal/stores/podstore_test.go @@ -220,9 +220,9 @@ func TestPodStore_decorateCpu(t *testing.T) { assert.Equal(t, uint64(10), metric.GetField("pod_cpu_request").(uint64)) assert.Equal(t, uint64(10), metric.GetField("pod_cpu_limit").(uint64)) - assert.Equal(t, float64(0.25), metric.GetField("pod_cpu_reserved_capacity").(float64)) - assert.Equal(t, float64(10), metric.GetField("pod_cpu_utilization_over_pod_limit").(float64)) - assert.Equal(t, float64(1), metric.GetField("pod_cpu_usage_total").(float64)) + assert.InDelta(t, float64(0.25), metric.GetField("pod_cpu_reserved_capacity").(float64), 0.01) + assert.InDelta(t, float64(10), metric.GetField("pod_cpu_utilization_over_pod_limit").(float64), 0.01) + assert.InDelta(t, float64(1), metric.GetField("pod_cpu_usage_total").(float64), 0.01) // test container metrics tags = map[string]string{ci.MetricType: ci.TypeContainer, ci.ContainerNamekey: "ubuntu"} @@ -232,7 +232,7 @@ func TestPodStore_decorateCpu(t *testing.T) { assert.Equal(t, uint64(10), metric.GetField("container_cpu_request").(uint64)) assert.Equal(t, uint64(10), metric.GetField("container_cpu_limit").(uint64)) - assert.Equal(t, float64(1), metric.GetField("container_cpu_usage_total").(float64)) + assert.InDelta(t, float64(1), metric.GetField("container_cpu_usage_total").(float64), 0.01) } func TestPodStore_decorateMem(t *testing.T) { @@ -248,8 +248,8 @@ func TestPodStore_decorateMem(t *testing.T) { assert.Equal(t, uint64(52428800), metric.GetField("pod_memory_request").(uint64)) assert.Equal(t, uint64(52428800), metric.GetField("pod_memory_limit").(uint64)) - assert.Equal(t, float64(12.5), metric.GetField("pod_memory_reserved_capacity").(float64)) - assert.Equal(t, float64(20), metric.GetField("pod_memory_utilization_over_pod_limit").(float64)) + assert.InDelta(t, float64(12.5), metric.GetField("pod_memory_reserved_capacity").(float64), 0.01) + assert.InDelta(t, float64(20), metric.GetField("pod_memory_utilization_over_pod_limit").(float64), 0.01) assert.Equal(t, uint64(10*1024*1024), metric.GetField("pod_memory_working_set").(uint64)) tags = map[string]string{ci.MetricType: ci.TypeContainer, ci.ContainerNamekey: "ubuntu"} @@ -260,7 +260,7 @@ func TestPodStore_decorateMem(t *testing.T) { assert.Equal(t, uint64(52428800), metric.GetField("container_memory_request").(uint64)) assert.Equal(t, uint64(52428800), metric.GetField("container_memory_limit").(uint64)) - assert.Equal(t, float64(10*1024*1024), metric.GetField("container_memory_working_set").(float64)) + assert.InDelta(t, float64(10*1024*1024), metric.GetField("container_memory_working_set").(float64), 0.01) } func TestPodStore_addContainerCount(t *testing.T) { @@ -612,13 +612,13 @@ func TestPodStore_decorateNode(t *testing.T) { assert.Equal(t, uint64(10), metric.GetField("node_cpu_request").(uint64)) assert.Equal(t, uint64(4000), metric.GetField("node_cpu_limit").(uint64)) - assert.Equal(t, float64(0.25), metric.GetField("node_cpu_reserved_capacity").(float64)) - assert.Equal(t, float64(100), metric.GetField("node_cpu_usage_total").(float64)) + assert.InDelta(t, float64(0.25), metric.GetField("node_cpu_reserved_capacity").(float64), 0.01) + assert.InDelta(t, float64(100), metric.GetField("node_cpu_usage_total").(float64), 0.01) assert.Equal(t, uint64(50*1024*1024), metric.GetField("node_memory_request").(uint64)) assert.Equal(t, uint64(400*1024*1024), metric.GetField("node_memory_limit").(uint64)) - assert.Equal(t, float64(12.5), metric.GetField("node_memory_reserved_capacity").(float64)) - assert.Equal(t, float64(100*1024*1024), metric.GetField("node_memory_working_set").(float64)) + assert.InDelta(t, float64(12.5), metric.GetField("node_memory_reserved_capacity").(float64), 0.01) + assert.InDelta(t, float64(100*1024*1024), metric.GetField("node_memory_working_set").(float64), 0.01) assert.Equal(t, int(1), metric.GetField("node_number_of_running_containers").(int)) assert.Equal(t, int(1), metric.GetField("node_number_of_running_pods").(int)) @@ -648,13 +648,13 @@ func TestPodStore_decorateNode_multiplePodStates(t *testing.T) { assert.Equal(t, uint64(0), metric.GetField("node_cpu_request").(uint64)) assert.Equal(t, uint64(4000), metric.GetField("node_cpu_limit").(uint64)) - assert.Equal(t, float64(0), metric.GetField("node_cpu_reserved_capacity").(float64)) - assert.Equal(t, float64(100), metric.GetField("node_cpu_usage_total").(float64)) + assert.InDelta(t, float64(0), metric.GetField("node_cpu_reserved_capacity").(float64), 0.01) + assert.InDelta(t, float64(100), metric.GetField("node_cpu_usage_total").(float64), 0.01) assert.Equal(t, uint64(0), metric.GetField("node_memory_request").(uint64)) assert.Equal(t, uint64(400*1024*1024), metric.GetField("node_memory_limit").(uint64)) - assert.Equal(t, float64(0), metric.GetField("node_memory_reserved_capacity").(float64)) - assert.Equal(t, float64(100*1024*1024), metric.GetField("node_memory_working_set").(float64)) + assert.InDelta(t, float64(0), metric.GetField("node_memory_reserved_capacity").(float64), 0.01) + assert.InDelta(t, float64(100*1024*1024), metric.GetField("node_memory_working_set").(float64), 0.01) // non-terminated pods should contribute to requests pendingPod := getBaseTestPodInfo() @@ -663,10 +663,10 @@ func TestPodStore_decorateNode_multiplePodStates(t *testing.T) { podStore.refreshInternal(time.Now(), podList) podStore.decorateNode(metric) assert.Equal(t, uint64(10), metric.GetField("node_cpu_request").(uint64)) - assert.Equal(t, float64(0.25), metric.GetField("node_cpu_reserved_capacity").(float64)) + assert.InDelta(t, float64(0.25), metric.GetField("node_cpu_reserved_capacity").(float64), 0.01) assert.Equal(t, uint64(50*1024*1024), metric.GetField("node_memory_request").(uint64)) - assert.Equal(t, float64(12.5), metric.GetField("node_memory_reserved_capacity").(float64)) + assert.InDelta(t, float64(12.5), metric.GetField("node_memory_reserved_capacity").(float64), 0.01) runningPod := getBaseTestPodInfo() runningPod.Status.Phase = corev1.PodRunning @@ -675,10 +675,10 @@ func TestPodStore_decorateNode_multiplePodStates(t *testing.T) { podStore.decorateNode(metric) assert.Equal(t, uint64(20), metric.GetField("node_cpu_request").(uint64)) - assert.Equal(t, float64(0.5), metric.GetField("node_cpu_reserved_capacity").(float64)) + assert.InDelta(t, float64(0.5), metric.GetField("node_cpu_reserved_capacity").(float64), 0.01) assert.Equal(t, uint64(100*1024*1024), metric.GetField("node_memory_request").(uint64)) - assert.Equal(t, float64(25), metric.GetField("node_memory_reserved_capacity").(float64)) + assert.InDelta(t, float64(25), metric.GetField("node_memory_reserved_capacity").(float64), 0.01) } func TestPodStore_Decorate(t *testing.T) { diff --git a/receiver/awsecscontainermetricsreceiver/internal/awsecscontainermetrics/accumulator_test.go b/receiver/awsecscontainermetricsreceiver/internal/awsecscontainermetrics/accumulator_test.go index c04d685db20f..36f36e715e87 100644 --- a/receiver/awsecscontainermetricsreceiver/internal/awsecscontainermetrics/accumulator_test.go +++ b/receiver/awsecscontainermetricsreceiver/internal/awsecscontainermetrics/accumulator_test.go @@ -230,25 +230,25 @@ func TestCalculateDuration(t *testing.T) { startTime := "2020-10-02T00:15:07.620912337Z" endTime := "2020-10-03T15:14:06.620913372Z" result, err := calculateDuration(startTime, endTime) - require.EqualValues(t, 140339.000001035, result) + require.InDelta(t, 140339.000001035, result, 0.01) require.NoError(t, err) startTime = "2010-10-02T00:15:07.620912337Z" endTime = "2020-10-03T15:14:06.620913372Z" result, err = calculateDuration(startTime, endTime) - require.EqualValues(t, 3.15759539000001e+08, result) + require.InDelta(t, 3.15759539000001e+08, result, 0.01) require.NoError(t, err) startTime = "2010-10-02 00:15:07" endTime = "2020-10-03T15:14:06.620913372Z" result, err = calculateDuration(startTime, endTime) require.Error(t, err) - require.EqualValues(t, 0, result) + require.InDelta(t, 0, result, 0.01) startTime = "2010-10-02T00:15:07.620912337Z" endTime = "2020-10-03 15:14:06 +800" result, err = calculateDuration(startTime, endTime) require.Error(t, err) - require.EqualValues(t, 0, result) + require.InDelta(t, 0, result, 0.01) } diff --git a/receiver/googlecloudspannerreceiver/internal/metadata/metricsdatapoint_test.go b/receiver/googlecloudspannerreceiver/internal/metadata/metricsdatapoint_test.go index b837b0f6e04a..4c0b2831cbd1 100644 --- a/receiver/googlecloudspannerreceiver/internal/metadata/metricsdatapoint_test.go +++ b/receiver/googlecloudspannerreceiver/internal/metadata/metricsdatapoint_test.go @@ -272,7 +272,7 @@ func assertMetricValue(t *testing.T, metricValue MetricValue, dataPoint pmetric. case int64MetricValue: assert.Equal(t, metricValue.Value(), dataPoint.IntValue()) case float64MetricValue: - assert.Equal(t, metricValue.Value(), dataPoint.DoubleValue()) + assert.InDelta(t, metricValue.Value(), dataPoint.DoubleValue(), 0.01) } } diff --git a/receiver/googlecloudspannerreceiver/internal/metadata/metricvalue_test.go b/receiver/googlecloudspannerreceiver/internal/metadata/metricvalue_test.go index a3d686e55bdf..b30c48fe6396 100644 --- a/receiver/googlecloudspannerreceiver/internal/metadata/metricvalue_test.go +++ b/receiver/googlecloudspannerreceiver/internal/metadata/metricvalue_test.go @@ -91,14 +91,14 @@ func TestFloat64MetricValue(t *testing.T) { value: float64Value, } - assert.Equal(t, float64Value, metricValue.Value()) + assert.InDelta(t, float64Value, metricValue.Value(), 0.01) assert.Equal(t, FloatValueType, metadata.ValueType()) dataPoint := pmetric.NewNumberDataPoint() metricValue.SetValueTo(dataPoint) - assert.Equal(t, float64Value, dataPoint.DoubleValue()) + assert.InDelta(t, float64Value, dataPoint.DoubleValue(), 0.01) } func TestNullFloat64MetricValue(t *testing.T) { @@ -114,7 +114,7 @@ func TestNullFloat64MetricValue(t *testing.T) { assert.Equal(t, NullFloatValueType, metadata.ValueType()) dataPoint := pmetric.NewNumberDataPoint() metricValue.SetValueTo(dataPoint) - assert.Equal(t, float64Value, dataPoint.DoubleValue()) + assert.InDelta(t, float64Value, dataPoint.DoubleValue(), 0.01) invalidNullFloat := spanner.NullFloat64{Float64: float64Value, Valid: false} metricValue = nullFloat64MetricValue{ @@ -147,7 +147,7 @@ func TestNewFloat64MetricValue(t *testing.T) { metricValue := newFloat64MetricValue(metadata, valueHolder) - assert.Equal(t, float64Value, metricValue.Value()) + assert.InDelta(t, float64Value, metricValue.Value(), 0.01) assert.Equal(t, FloatValueType, metadata.ValueType()) } diff --git a/receiver/hostmetricsreceiver/internal/scraper/loadscraper/load_scraper_windows_test.go b/receiver/hostmetricsreceiver/internal/scraper/loadscraper/load_scraper_windows_test.go index 2eda3a9fa778..1db0f5603b86 100644 --- a/receiver/hostmetricsreceiver/internal/scraper/loadscraper/load_scraper_windows_test.go +++ b/receiver/hostmetricsreceiver/internal/scraper/loadscraper/load_scraper_windows_test.go @@ -97,9 +97,9 @@ func TestSampleLoad(t *testing.T) { samplerInstance.sampleLoad() } - assert.Equal(t, calcExpectedLoad(counterReturnValues, loadAvgFactor1m), samplerInstance.loadAvg1m) - assert.Equal(t, calcExpectedLoad(counterReturnValues, loadAvgFactor5m), samplerInstance.loadAvg5m) - assert.Equal(t, calcExpectedLoad(counterReturnValues, loadAvgFactor15m), samplerInstance.loadAvg15m) + assert.InDelta(t, calcExpectedLoad(counterReturnValues, loadAvgFactor1m), samplerInstance.loadAvg1m, 0.01) + assert.InDelta(t, calcExpectedLoad(counterReturnValues, loadAvgFactor5m), samplerInstance.loadAvg5m, 0.01) + assert.InDelta(t, calcExpectedLoad(counterReturnValues, loadAvgFactor15m), samplerInstance.loadAvg15m, 0.01) } func calcExpectedLoad(scrapedValues []int64, loadAvgFactor float64) float64 { diff --git a/receiver/hostmetricsreceiver/internal/scraper/pagingscraper/paging_scraper_windows_test.go b/receiver/hostmetricsreceiver/internal/scraper/pagingscraper/paging_scraper_windows_test.go index 28357601dfd5..01b7bfc748dd 100644 --- a/receiver/hostmetricsreceiver/internal/scraper/pagingscraper/paging_scraper_windows_test.go +++ b/receiver/hostmetricsreceiver/internal/scraper/pagingscraper/paging_scraper_windows_test.go @@ -131,8 +131,8 @@ func TestScrape_Errors(t *testing.T) { assert.Equal(t, test.expectedFreeValue, pagingUsageMetric.Sum().DataPoints().At(1).IntValue()) pagingUtilizationMetric := metrics.At(1) - assert.Equal(t, test.expectedUtilizationUsedValue, pagingUtilizationMetric.Gauge().DataPoints().At(0).DoubleValue()) - assert.Equal(t, test.expectedUtilizationFreeValue, pagingUtilizationMetric.Gauge().DataPoints().At(1).DoubleValue()) + assert.InDelta(t, test.expectedUtilizationUsedValue, pagingUtilizationMetric.Gauge().DataPoints().At(0).DoubleValue(), 0.01) + assert.InDelta(t, test.expectedUtilizationFreeValue, pagingUtilizationMetric.Gauge().DataPoints().At(1).DoubleValue(), 0.01) }) } } diff --git a/receiver/prometheusreceiver/metrics_receiver_helper_test.go b/receiver/prometheusreceiver/metrics_receiver_helper_test.go index 0ab15d8c885b..775c25684efd 100644 --- a/receiver/prometheusreceiver/metrics_receiver_helper_test.go +++ b/receiver/prometheusreceiver/metrics_receiver_helper_test.go @@ -340,7 +340,7 @@ func isFirstFailedScrape(metrics []pmetric.Metric, normalizedNames bool) bool { func assertUp(t *testing.T, expected float64, metrics []pmetric.Metric) { for _, m := range metrics { if m.Name() == "up" { - assert.Equal(t, expected, m.Gauge().DataPoints().At(0).DoubleValue()) // (assumed up will not have multiple datapoints) + assert.InDelta(t, expected, m.Gauge().DataPoints().At(0).DoubleValue(), 0.01) // (assumed up will not have multiple datapoints) return } } @@ -620,7 +620,7 @@ func compareSummaryStartTimestamp(timeStamp pcommon.Timestamp) summaryPointCompa func compareDoubleValue(doubleVal float64) numberPointComparator { return func(t *testing.T, numberDataPoint pmetric.NumberDataPoint) { - assert.Equal(t, doubleVal, numberDataPoint.DoubleValue(), "Metric double value does not match") + assert.InDelta(t, doubleVal, numberDataPoint.DoubleValue(), 0.01, "Metric double value does not match") } } @@ -634,7 +634,7 @@ func assertNormalNan() numberPointComparator { func compareHistogram(count uint64, sum float64, upperBounds []float64, buckets []uint64) histogramPointComparator { return func(t *testing.T, histogramDataPoint pmetric.HistogramDataPoint) { assert.Equal(t, count, histogramDataPoint.Count(), "Histogram count value does not match") - assert.Equal(t, sum, histogramDataPoint.Sum(), "Histogram sum value does not match") + assert.InDelta(t, sum, histogramDataPoint.Sum(), 0.01, "Histogram sum value does not match") assert.Equal(t, upperBounds, histogramDataPoint.ExplicitBounds().AsRaw(), "Histogram upper bounds values do not match") assert.Equal(t, buckets, histogramDataPoint.BucketCounts().AsRaw(), "Histogram bucket count values do not match") } @@ -644,7 +644,7 @@ func compareExponentialHistogram(scale int32, count uint64, sum float64, zeroCou return func(t *testing.T, exponentialHistogramDataPoint pmetric.ExponentialHistogramDataPoint) { assert.Equal(t, scale, exponentialHistogramDataPoint.Scale(), "Exponential Histogram scale value does not match") assert.Equal(t, count, exponentialHistogramDataPoint.Count(), "Exponential Histogram count value does not match") - assert.Equal(t, sum, exponentialHistogramDataPoint.Sum(), "Exponential Histogram sum value does not match") + assert.InDelta(t, sum, exponentialHistogramDataPoint.Sum(), 0.01, "Exponential Histogram sum value does not match") assert.Equal(t, zeroCount, exponentialHistogramDataPoint.ZeroCount(), "Exponential Histogram zero count value does not match") assert.Equal(t, negativeOffset, exponentialHistogramDataPoint.Negative().Offset(), "Exponential Histogram negative offset value does not match") assert.Equal(t, negativeBuckets, exponentialHistogramDataPoint.Negative().BucketCounts().AsRaw(), "Exponential Histogram negative bucket count values do not match") @@ -656,12 +656,12 @@ func compareExponentialHistogram(scale int32, count uint64, sum float64, zeroCou func compareSummary(count uint64, sum float64, quantiles [][]float64) summaryPointComparator { return func(t *testing.T, summaryDataPoint pmetric.SummaryDataPoint) { assert.Equal(t, count, summaryDataPoint.Count(), "Summary count value does not match") - assert.Equal(t, sum, summaryDataPoint.Sum(), "Summary sum value does not match") + assert.InDelta(t, sum, summaryDataPoint.Sum(), 0.01, "Summary sum value does not match") req := assert.Equal(t, len(quantiles), summaryDataPoint.QuantileValues().Len()) if req { for i := 0; i < summaryDataPoint.QuantileValues().Len(); i++ { - assert.Equal(t, quantiles[i][0], summaryDataPoint.QuantileValues().At(i).Quantile(), - "Summary quantile do not match") + assert.InDelta(t, quantiles[i][0], summaryDataPoint.QuantileValues().At(i).Quantile(), + 0.01, "Summary quantile do not match") if math.IsNaN(quantiles[i][1]) { assert.Equal(t, value.NormalNaN, math.Float64bits(summaryDataPoint.QuantileValues().At(i).Value()), "Summary quantile value is not normalNaN as expected") diff --git a/receiver/redisreceiver/latencystats_test.go b/receiver/redisreceiver/latencystats_test.go index 06cf32a672ec..8424e876e034 100644 --- a/receiver/redisreceiver/latencystats_test.go +++ b/receiver/redisreceiver/latencystats_test.go @@ -12,10 +12,10 @@ import ( func TestParseLatencyStats(t *testing.T) { ls, err := parseLatencyStats("p50=181.247,p55=182.271,p99=309.247,p99.9=1023.999") require.NoError(t, err) - require.Equal(t, 181.247, ls["p50"]) - require.Equal(t, 182.271, ls["p55"]) - require.Equal(t, 309.247, ls["p99"]) - require.Equal(t, 1023.999, ls["p99.9"]) + require.InDelta(t, 181.247, ls["p50"], 0.01) + require.InDelta(t, 182.271, ls["p55"], 0.01) + require.InDelta(t, 309.247, ls["p99"], 0.01) + require.InDelta(t, 1023.999, ls["p99.9"], 0.01) } func TestParseMalformedLatencyStats(t *testing.T) {