test(linters): Enable `testifylint`: `blank-import`, `float-compare`, `negative-positive`, `nil-compare` and `useless-assert` (#15566)

This commit is contained in:
Paweł Żak 2024-07-01 15:00:13 +02:00 committed by GitHub
parent 1b849ebf92
commit 1422c09294
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
35 changed files with 136 additions and 120 deletions

View File

@ -296,17 +296,22 @@ linters-settings:
# len, negative-positive, nil-compare, require-error, suite-dont-use-pkg, suite-extra-assert-call, useless-assert
# ).
enable:
- blank-import
- bool-compare
- compares
- empty
- error-is-as
- error-nil
- expected-actual
- float-compare
- len
- negative-positive
- nil-compare
- require-error
- suite-dont-use-pkg
- suite-extra-assert-call
- suite-thelper
- useless-assert
run:
# Timeout for analysis, e.g. 30s, 5m.

View File

@ -12,6 +12,7 @@ import (
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/logger"
"github.com/influxdata/telegraf/testutil"
)
func TestAddFields(t *testing.T) {
@ -32,7 +33,7 @@ func TestAddFields(t *testing.T) {
actual, ok := testm.GetField("usage")
require.True(t, ok)
require.Equal(t, float64(99), actual)
require.InDelta(t, float64(99), actual, testutil.DefaultDelta)
actual, ok = testm.GetTag("foo")
require.True(t, ok)

View File

@ -112,7 +112,7 @@ func TestAddFieldOverwrites(t *testing.T) {
value, ok := m.GetField("value")
require.True(t, ok)
require.Equal(t, 42.0, value)
require.InDelta(t, 42.0, value, 0.001)
}
func TestAddFieldChangesType(t *testing.T) {

View File

@ -42,7 +42,7 @@ func TestParseOsdDump(t *testing.T) {
dump, err := c.parseDump(osdPerfDump)
require.NoError(t, err)
require.InEpsilon(t, 552132.109360000, dump["filestore"]["commitcycle_interval.sum"], epsilon)
require.Equal(t, float64(0), dump["mutex-FileJournal::finisher_lock"]["wait.avgcount"])
require.InDelta(t, float64(0), dump["mutex-FileJournal::finisher_lock"]["wait.avgcount"], testutil.DefaultDelta)
}
func TestParseMdsDump(t *testing.T) {
@ -50,7 +50,7 @@ func TestParseMdsDump(t *testing.T) {
dump, err := c.parseDump(mdsPerfDump)
require.NoError(t, err)
require.InEpsilon(t, 2408386.600934982, dump["mds"]["reply_latency.sum"], epsilon)
require.Equal(t, float64(0), dump["throttle-write_buf_throttle"]["wait.avgcount"])
require.InDelta(t, float64(0), dump["throttle-write_buf_throttle"]["wait.avgcount"], testutil.DefaultDelta)
}
func TestParseRgwDump(t *testing.T) {
@ -58,7 +58,7 @@ func TestParseRgwDump(t *testing.T) {
dump, err := c.parseDump(rgwPerfDump)
require.NoError(t, err)
require.InEpsilon(t, 0.002219876, dump["rgw"]["get_initial_lat.sum"], epsilon)
require.Equal(t, float64(0), dump["rgw"]["put_initial_lat.avgcount"])
require.InDelta(t, float64(0), dump["rgw"]["put_initial_lat.avgcount"], testutil.DefaultDelta)
}
func TestDecodeStatus(t *testing.T) {

View File

@ -293,6 +293,6 @@ func TestRunErrorInSubscriber(t *testing.T) {
func validateTestInfluxMetric(t *testing.T, m *testutil.Metric) {
require.Equal(t, "cpu_load_short", m.Measurement)
require.Equal(t, "server01", m.Tags["host"])
require.Equal(t, 23422.0, m.Fields["value"])
require.InDelta(t, 23422.0, m.Fields["value"], testutil.DefaultDelta)
require.Equal(t, int64(1422568543702900257), m.Time.UnixNano())
}

View File

@ -206,7 +206,7 @@ func TestCtrlXMetricsField(t *testing.T) {
require.NoError(t, acc.GatherError(s.Start))
require.Eventually(t, func() bool {
if v, found := acc.FloatField(measurement, fieldName); found {
require.Equal(t, 43.0, v)
require.InDelta(t, 43.0, v, testutil.DefaultDelta)
return true
}
return false
@ -226,7 +226,7 @@ func TestCtrlXMetricsMulti(t *testing.T) {
require.NoError(t, acc.GatherError(s.Start))
require.Eventually(t, func() bool {
if v, found := acc.FloatField(measurement, fieldName); found {
require.Equal(t, 44.0, v)
require.InDelta(t, 44.0, v, testutil.DefaultDelta)
return true
}
return false

View File

@ -200,41 +200,41 @@ func Test_Gather(t *testing.T) {
require.Equal(t, expectedOutput[0].PluginID, acc.Metrics[0].Tags["plugin_id"])
require.Equal(t, expectedOutput[0].PluginType, acc.Metrics[0].Tags["plugin_type"])
require.Equal(t, expectedOutput[0].PluginCategory, acc.Metrics[0].Tags["plugin_category"])
require.Equal(t, *expectedOutput[0].RetryCount, acc.Metrics[0].Fields["retry_count"])
require.InDelta(t, *expectedOutput[0].RetryCount, acc.Metrics[0].Fields["retry_count"], testutil.DefaultDelta)
require.Equal(t, expectedOutput[1].PluginID, acc.Metrics[1].Tags["plugin_id"])
require.Equal(t, expectedOutput[1].PluginType, acc.Metrics[1].Tags["plugin_type"])
require.Equal(t, expectedOutput[1].PluginCategory, acc.Metrics[1].Tags["plugin_category"])
require.Equal(t, *expectedOutput[1].RetryCount, acc.Metrics[1].Fields["retry_count"])
require.Equal(t, *expectedOutput[1].BufferQueueLength, acc.Metrics[1].Fields["buffer_queue_length"])
require.Equal(t, *expectedOutput[1].BufferTotalQueuedSize, acc.Metrics[1].Fields["buffer_total_queued_size"])
require.InDelta(t, *expectedOutput[1].RetryCount, acc.Metrics[1].Fields["retry_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[1].BufferQueueLength, acc.Metrics[1].Fields["buffer_queue_length"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[1].BufferTotalQueuedSize, acc.Metrics[1].Fields["buffer_total_queued_size"], testutil.DefaultDelta)
require.Equal(t, expectedOutput[2].PluginID, acc.Metrics[2].Tags["plugin_id"])
require.Equal(t, expectedOutput[2].PluginType, acc.Metrics[2].Tags["plugin_type"])
require.Equal(t, expectedOutput[2].PluginCategory, acc.Metrics[2].Tags["plugin_category"])
require.Equal(t, *expectedOutput[2].RetryCount, acc.Metrics[2].Fields["retry_count"])
require.Equal(t, *expectedOutput[2].BufferQueueLength, acc.Metrics[2].Fields["buffer_queue_length"])
require.Equal(t, *expectedOutput[2].BufferTotalQueuedSize, acc.Metrics[2].Fields["buffer_total_queued_size"])
require.Equal(t, *expectedOutput[2].EmitRecords, acc.Metrics[2].Fields["emit_records"])
require.Equal(t, *expectedOutput[2].EmitSize, acc.Metrics[2].Fields["emit_size"])
require.Equal(t, *expectedOutput[2].EmitCount, acc.Metrics[2].Fields["emit_count"])
require.Equal(t, *expectedOutput[2].RollbackCount, acc.Metrics[2].Fields["rollback_count"])
require.Equal(t, *expectedOutput[2].SlowFlushCount, acc.Metrics[2].Fields["slow_flush_count"])
require.Equal(t, *expectedOutput[2].WriteCount, acc.Metrics[2].Fields["write_count"])
require.Equal(t, *expectedOutput[2].FlushTimeCount, acc.Metrics[2].Fields["flush_time_count"])
require.Equal(t, *expectedOutput[2].BufferStageLength, acc.Metrics[2].Fields["buffer_stage_length"])
require.Equal(t, *expectedOutput[2].BufferStageByteSize, acc.Metrics[2].Fields["buffer_stage_byte_size"])
require.Equal(t, *expectedOutput[2].BufferQueueByteSize, acc.Metrics[2].Fields["buffer_queue_byte_size"])
require.Equal(t, *expectedOutput[2].AvailBufferSpaceRatios, acc.Metrics[2].Fields["buffer_available_buffer_space_ratios"])
require.InDelta(t, *expectedOutput[2].RetryCount, acc.Metrics[2].Fields["retry_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].BufferQueueLength, acc.Metrics[2].Fields["buffer_queue_length"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].BufferTotalQueuedSize, acc.Metrics[2].Fields["buffer_total_queued_size"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].EmitRecords, acc.Metrics[2].Fields["emit_records"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].EmitSize, acc.Metrics[2].Fields["emit_size"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].EmitCount, acc.Metrics[2].Fields["emit_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].RollbackCount, acc.Metrics[2].Fields["rollback_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].SlowFlushCount, acc.Metrics[2].Fields["slow_flush_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].WriteCount, acc.Metrics[2].Fields["write_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].FlushTimeCount, acc.Metrics[2].Fields["flush_time_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].BufferStageLength, acc.Metrics[2].Fields["buffer_stage_length"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].BufferStageByteSize, acc.Metrics[2].Fields["buffer_stage_byte_size"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].BufferQueueByteSize, acc.Metrics[2].Fields["buffer_queue_byte_size"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[2].AvailBufferSpaceRatios, acc.Metrics[2].Fields["buffer_available_buffer_space_ratios"], testutil.DefaultDelta)
require.Equal(t, expectedOutput[3].PluginID, acc.Metrics[3].Tags["plugin_id"])
require.Equal(t, expectedOutput[3].PluginType, acc.Metrics[3].Tags["plugin_type"])
require.Equal(t, expectedOutput[3].PluginCategory, acc.Metrics[3].Tags["plugin_category"])
require.Equal(t, *expectedOutput[3].RetryCount, acc.Metrics[3].Fields["retry_count"])
require.Equal(t, *expectedOutput[3].BufferQueueLength, acc.Metrics[3].Fields["buffer_queue_length"])
require.Equal(t, *expectedOutput[3].BufferTotalQueuedSize, acc.Metrics[3].Fields["buffer_total_queued_size"])
require.Equal(t, *expectedOutput[3].EmitRecords, acc.Metrics[3].Fields["emit_records"])
require.Equal(t, *expectedOutput[3].RollbackCount, acc.Metrics[3].Fields["rollback_count"])
require.Equal(t, *expectedOutput[3].SlowFlushCount, acc.Metrics[3].Fields["slow_flush_count"])
require.Equal(t, *expectedOutput[3].AvailBufferSpaceRatios, acc.Metrics[3].Fields["buffer_available_buffer_space_ratios"])
require.InDelta(t, *expectedOutput[3].RetryCount, acc.Metrics[3].Fields["retry_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[3].BufferQueueLength, acc.Metrics[3].Fields["buffer_queue_length"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[3].BufferTotalQueuedSize, acc.Metrics[3].Fields["buffer_total_queued_size"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[3].EmitRecords, acc.Metrics[3].Fields["emit_records"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[3].RollbackCount, acc.Metrics[3].Fields["rollback_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[3].SlowFlushCount, acc.Metrics[3].Fields["slow_flush_count"], testutil.DefaultDelta)
require.InDelta(t, *expectedOutput[3].AvailBufferSpaceRatios, acc.Metrics[3].Fields["buffer_available_buffer_space_ratios"], testutil.DefaultDelta)
}

View File

@ -92,8 +92,8 @@ func TestRunGatherOneItem(t *testing.T) {
require.Equal(t, "cpu", metric.Measurement)
require.Equal(t, "us-east-1", metric.Tags["tags_datacenter"])
require.Equal(t, "localhost", metric.Tags["tags_host"])
require.Equal(t, 10.0, metric.Fields["fields_cosine"])
require.Equal(t, -1.0975806427415925e-12, metric.Fields["fields_sine"])
require.InDelta(t, 10.0, metric.Fields["fields_cosine"], testutil.DefaultDelta)
require.InEpsilon(t, -1.0975806427415925e-12, metric.Fields["fields_sine"], testutil.DefaultEpsilon)
}
func TestRunGatherOneIteration(t *testing.T) {

View File

@ -3,7 +3,6 @@ package http_test
import (
"compress/gzip"
"fmt"
"github.com/influxdata/telegraf/config"
"io"
"math/rand"
"net"
@ -19,6 +18,7 @@ import (
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/config"
httpconfig "github.com/influxdata/telegraf/plugins/common/http"
"github.com/influxdata/telegraf/plugins/common/oauth"
httpplugin "github.com/influxdata/telegraf/plugins/inputs/http"
@ -62,7 +62,7 @@ func TestHTTPWithJSONFormat(t *testing.T) {
var metric = acc.Metrics[0]
require.Equal(t, metric.Measurement, metricName)
require.Len(t, acc.Metrics[0].Fields, 1)
require.Equal(t, 1.2, acc.Metrics[0].Fields["a"])
require.InDelta(t, 1.2, acc.Metrics[0].Fields["a"], testutil.DefaultDelta)
require.Equal(t, acc.Metrics[0].Tags["url"], address)
}

View File

@ -49,7 +49,7 @@ func checkFields(t *testing.T, fields map[string]interface{}, acc *testutil.Accu
case float64:
value, ok := acc.FloatField("http_response", key)
require.True(t, ok)
require.Equal(t, field, value)
require.InDelta(t, field, value, testutil.DefaultDelta)
case string:
value, ok := acc.StringField("http_response", key)
require.True(t, ok)

View File

@ -421,7 +421,7 @@ func TestDLB_gatherSecondDeviceIndex(t *testing.T) {
mockConn.On("Close").Return(nil).Once()
_, err := dlb.gatherSecondDeviceIndex(0, dlb.EventdevCommands[0])
require.Equal(t, nil, dlb.connection)
require.Nil(t, dlb.connection)
require.Error(t, err)
require.Contains(t, err.Error(), "failed to parse json")
dlb.SocketPath = pathToSocket

View File

@ -4948,8 +4948,8 @@ func TestGetUncoreFreqInitialLimits(t *testing.T) {
initMin, initMax, err := getUncoreFreqInitialLimits(mFetcher, packageID, dieID)
require.NoError(t, err)
require.Equal(t, initMinExp, initMin)
require.Equal(t, initMaxExp, initMax)
require.InDelta(t, initMinExp, initMin, testutil.DefaultDelta)
require.InDelta(t, initMaxExp, initMax, testutil.DefaultDelta)
mFetcher.AssertExpectations(t)
})
}

View File

@ -44,12 +44,12 @@ func TestParseCoresMeasurement(t *testing.T) {
require.NoError(t, err)
require.Equal(t, expectedCores, result.cores)
require.Equal(t, expectedTimestamp, result.time)
require.Equal(t, result.values[0], metricsValues["IPC"])
require.Equal(t, result.values[1], metricsValues["LLC_Misses"])
require.Equal(t, result.values[2], metricsValues["LLC"])
require.Equal(t, result.values[3], metricsValues["MBL"])
require.Equal(t, result.values[4], metricsValues["MBR"])
require.Equal(t, result.values[5], metricsValues["MBT"])
require.InDelta(t, result.values[0], metricsValues["IPC"], testutil.DefaultDelta)
require.InDelta(t, result.values[1], metricsValues["LLC_Misses"], testutil.DefaultDelta)
require.InDelta(t, result.values[2], metricsValues["LLC"], testutil.DefaultDelta)
require.InDelta(t, result.values[3], metricsValues["MBL"], testutil.DefaultDelta)
require.InDelta(t, result.values[4], metricsValues["MBR"], testutil.DefaultDelta)
require.InDelta(t, result.values[5], metricsValues["MBT"], testutil.DefaultDelta)
})
t.Run("not valid measurement string", func(t *testing.T) {
measurement := "not, valid, measurement"
@ -131,12 +131,12 @@ func TestParseProcessesMeasurement(t *testing.T) {
require.Equal(t, processName, result.process)
require.Equal(t, expectedCores, result.cores)
require.Equal(t, expectedTimestamp, result.time)
require.Equal(t, result.values[0], metricsValues["IPC"])
require.Equal(t, result.values[1], metricsValues["LLC_Misses"])
require.Equal(t, result.values[2], metricsValues["LLC"])
require.Equal(t, result.values[3], metricsValues["MBL"])
require.Equal(t, result.values[4], metricsValues["MBR"])
require.Equal(t, result.values[5], metricsValues["MBT"])
require.InDelta(t, result.values[0], metricsValues["IPC"], testutil.DefaultDelta)
require.InDelta(t, result.values[1], metricsValues["LLC_Misses"], testutil.DefaultDelta)
require.InDelta(t, result.values[2], metricsValues["LLC"], testutil.DefaultDelta)
require.InDelta(t, result.values[3], metricsValues["MBL"], testutil.DefaultDelta)
require.InDelta(t, result.values[4], metricsValues["MBR"], testutil.DefaultDelta)
require.InDelta(t, result.values[5], metricsValues["MBT"], testutil.DefaultDelta)
})
invalidTimestamp := "2020-20-20-31"

View File

@ -75,7 +75,7 @@ func TestGather(t *testing.T) {
for k, v := range metric.Fields {
switch k {
case "abc":
require.Equal(t, 50.0, v)
require.InDelta(t, 50.0, v, testutil.DefaultDelta)
case "constant_string":
require.Equal(t, testConstantString.Value, v)
case "constant_float":
@ -88,9 +88,9 @@ func TestGather(t *testing.T) {
require.GreaterOrEqual(t, 6.0, v)
require.LessOrEqual(t, 1.0, v)
case "sine":
require.Equal(t, 2.0, v)
require.InDelta(t, 2.0, v, testutil.DefaultDelta)
case "step":
require.Equal(t, 0.0, v)
require.InDelta(t, 0.0, v, testutil.DefaultDelta)
default:
require.Failf(t, "unexpected field %q", k)
}

View File

@ -5,6 +5,8 @@ import (
"testing"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf/testutil"
)
func TestDecodeInt32(t *testing.T) {
@ -66,7 +68,7 @@ func TestDecodeFloat64(t *testing.T) {
require.NoError(t, err)
out, ok := v.(float64)
require.True(t, ok)
require.Equal(t, float64(3.14159265359), out)
require.InDelta(t, float64(3.14159265359), out, testutil.DefaultDelta)
}
func TestDecodeBool(t *testing.T) {

View File

@ -98,7 +98,7 @@ func TestPgBouncerGeneratesMetricsIntegration(t *testing.T) {
metricsCounted++
}
require.Greater(t, metricsCounted, 0)
require.Positive(t, metricsCounted)
require.Equal(t, len(intMetricsPgBouncer)+len(intMetricsPgBouncerPools), metricsCounted)
}
@ -210,6 +210,6 @@ func TestPgBouncerGeneratesMetricsIntegrationShowCommands(t *testing.T) {
metricsCounted++
}
require.Greater(t, metricsCounted, 0)
require.Positive(t, metricsCounted)
require.Equal(t, len(intMetricsPgBouncerPools)+len(intMetricsPgBouncerLists)+len(intMetricsPgBouncerDatabases), metricsCounted)
}

View File

@ -82,40 +82,40 @@ func TestProcessPingOutput(t *testing.T) {
require.Equal(t, 55, stats.ttl, "ttl value is 55")
require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were received")
require.InDelta(t, 15.087, stats.min, 0.001)
require.InDelta(t, 20.224, stats.avg, 0.001)
require.InDelta(t, 27.263, stats.max, 0.001)
require.InDelta(t, 4.076, stats.stddev, 0.001)
require.InDelta(t, 15.087, stats.min, testutil.DefaultDelta)
require.InDelta(t, 20.224, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 27.263, stats.max, testutil.DefaultDelta)
require.InDelta(t, 4.076, stats.stddev, testutil.DefaultDelta)
stats, err = processPingOutput(freebsdPing6Output)
require.NoError(t, err)
require.Equal(t, 117, stats.ttl, "ttl value is 117")
require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were received")
require.InDelta(t, 35.727, stats.min, 0.001)
require.InDelta(t, 53.211, stats.avg, 0.001)
require.InDelta(t, 93.870, stats.max, 0.001)
require.InDelta(t, 22.000, stats.stddev, 0.001)
require.InDelta(t, 35.727, stats.min, testutil.DefaultDelta)
require.InDelta(t, 53.211, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 93.870, stats.max, testutil.DefaultDelta)
require.InDelta(t, 22.000, stats.stddev, testutil.DefaultDelta)
stats, err = processPingOutput(linuxPingOutput)
require.NoError(t, err)
require.Equal(t, 63, stats.ttl, "ttl value is 63")
require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were received")
require.InDelta(t, 35.225, stats.min, 0.001)
require.InDelta(t, 43.628, stats.avg, 0.001)
require.InDelta(t, 51.806, stats.max, 0.001)
require.InDelta(t, 5.325, stats.stddev, 0.001)
require.InDelta(t, 35.225, stats.min, testutil.DefaultDelta)
require.InDelta(t, 43.628, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 51.806, stats.max, testutil.DefaultDelta)
require.InDelta(t, 5.325, stats.stddev, testutil.DefaultDelta)
stats, err = processPingOutput(busyBoxPingOutput)
require.NoError(t, err)
require.Equal(t, 56, stats.ttl, "ttl value is 56")
require.Equal(t, 4, stats.packetsTransmitted, "4 packets were transmitted")
require.Equal(t, 4, stats.packetsReceived, "4 packets were received")
require.InDelta(t, 15.810, stats.min, 0.001)
require.InDelta(t, 17.611, stats.avg, 0.001)
require.InDelta(t, 22.559, stats.max, 0.001)
require.InDelta(t, -1.0, stats.stddev, 0.001)
require.InDelta(t, 15.810, stats.min, testutil.DefaultDelta)
require.InDelta(t, 17.611, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 22.559, stats.max, testutil.DefaultDelta)
require.InDelta(t, -1.0, stats.stddev, testutil.DefaultDelta)
}
// Linux ping output with varying TTL
@ -139,10 +139,10 @@ func TestProcessPingOutputWithVaryingTTL(t *testing.T) {
require.Equal(t, 63, stats.ttl, "ttl value is 63")
require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were transmitted")
require.InDelta(t, 35.225, stats.min, 0.001)
require.InDelta(t, 43.628, stats.avg, 0.001)
require.InDelta(t, 51.806, stats.max, 0.001)
require.InDelta(t, 5.325, stats.stddev, 0.001)
require.InDelta(t, 35.225, stats.min, testutil.DefaultDelta)
require.InDelta(t, 43.628, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 51.806, stats.max, testutil.DefaultDelta)
require.InDelta(t, 5.325, stats.stddev, testutil.DefaultDelta)
}
// Test that processPingOutput returns an error when 'ping' fails to run, such
@ -467,11 +467,11 @@ func TestPingGatherNative(t *testing.T) {
require.True(t, acc.HasPoint("ping", map[string]string{"url": "localhost"}, "packets_transmitted", 5))
require.True(t, acc.HasPoint("ping", map[string]string{"url": "localhost"}, "packets_received", 5))
require.True(t, acc.HasField("ping", "percentile50_ms"))
require.Equal(t, float64(3), acc.Metrics[0].Fields["percentile50_ms"])
require.InDelta(t, float64(3), acc.Metrics[0].Fields["percentile50_ms"], testutil.DefaultDelta)
require.True(t, acc.HasField("ping", "percentile95_ms"))
require.Equal(t, float64(4.799999), acc.Metrics[0].Fields["percentile95_ms"])
require.InDelta(t, float64(4.799999), acc.Metrics[0].Fields["percentile95_ms"], testutil.DefaultDelta)
require.True(t, acc.HasField("ping", "percentile99_ms"))
require.Equal(t, float64(4.96), acc.Metrics[0].Fields["percentile99_ms"])
require.InDelta(t, float64(4.96), acc.Metrics[0].Fields["percentile99_ms"], testutil.DefaultDelta)
require.True(t, acc.HasField("ping", "percent_packet_loss"))
require.True(t, acc.HasField("ping", "minimum_response_ms"))
require.True(t, acc.HasField("ping", "average_response_ms"))

View File

@ -125,7 +125,7 @@ func TestPostgresqlGeneratesMetricsIntegration(t *testing.T) {
metricsCounted++
}
require.Greater(t, metricsCounted, 0)
require.Positive(t, metricsCounted)
require.Equal(t, len(floatMetrics)+len(intMetrics)+len(int32Metrics)+len(stringMetrics), metricsCounted)
}

View File

@ -121,7 +121,7 @@ func TestPostgresqlGeneratesMetricsIntegration(t *testing.T) {
metricsCounted++
}
require.Greater(t, metricsCounted, 0)
require.Positive(t, metricsCounted)
require.Equal(t, len(floatMetrics)+len(intMetrics)+len(int32Metrics)+len(stringMetrics), metricsCounted)
}
@ -136,7 +136,7 @@ func TestPostgresqlQueryOutputTestsIntegration(t *testing.T) {
"SELECT 10.0::float AS myvalue": func(acc *testutil.Accumulator) {
v, found := acc.FloatField(measurement, "myvalue")
require.True(t, found)
require.Equal(t, 10.0, v)
require.InDelta(t, 10.0, v, testutil.DefaultDelta)
},
"SELECT 10.0 AS myvalue": func(acc *testutil.Accumulator) {
v, found := acc.StringField(measurement, "myvalue")

View File

@ -1552,7 +1552,7 @@ func TestParse_MeasurementsWithMultipleValues(t *testing.T) {
// which adds up to 12 individual datapoints to be cached
require.EqualValuesf(t, 12, cachedtiming.fields[defaultFieldName].n, "Expected 12 additions, got %d", cachedtiming.fields[defaultFieldName].n)
require.EqualValuesf(t, 1, cachedtiming.fields[defaultFieldName].upper, "Expected max input to be 1, got %f", cachedtiming.fields[defaultFieldName].upper)
require.InDelta(t, 1, cachedtiming.fields[defaultFieldName].upper, testutil.DefaultDelta)
// test if sSingle and sMultiple did compute the same stats for valid.multiple.duplicate
require.NoError(t, testValidateSet("valid_multiple_duplicate", 2, sSingle.sets))

View File

@ -178,7 +178,7 @@ func testAlignUniform(t *testing.T, n int) {
require.Len(t, newInfo, n/3, "Aligned infos have wrong size")
require.Len(t, newValues, n/3, "Aligned values have wrong size")
for _, v := range newValues {
require.Equal(t, 1.0, v, "Aligned value should be 1")
require.InDelta(t, 1.0, v, testutil.DefaultDelta, "Aligned value should be 1")
}
}
@ -204,7 +204,7 @@ func TestAlignMetrics(t *testing.T) {
require.Len(t, newInfo, n/3, "Aligned infos have wrong size")
require.Len(t, newValues, n/3, "Aligned values have wrong size")
for _, v := range newValues {
require.Equal(t, 2.0, v, "Aligned value should be 2")
require.InDelta(t, 2.0, v, testutil.DefaultDelta, "Aligned value should be 2")
}
}

View File

@ -403,11 +403,11 @@ func verifyAggregateTelemetry(
}
if _, err := toFloat64(metricRawFieldValue); err == nil {
require.EqualValues(t, metricRawFieldValue, telemetryValue, "Telemetry property %s does not match the metric field", fieldName)
require.InDelta(t, metricRawFieldValue, telemetryValue, testutil.DefaultDelta, "Telemetry property %s does not match the metric field", fieldName)
}
}
require.Equal(t, m.Name(), telemetry.Name, "Telemetry name should be the same as metric name")
require.EqualValues(t, m.Fields()[valueField], telemetry.Value, "Telemetry value does not match metric value field")
require.InDelta(t, m.Fields()[valueField], telemetry.Value, testutil.DefaultDelta, "Telemetry value does not match metric value field")
require.EqualValues(t, m.Fields()[countField], telemetry.Count, "Telemetry sample count does not mach metric sample count field")
verifyAggregateField("min", telemetry.Min)
verifyAggregateField("max", telemetry.Max)
@ -425,7 +425,7 @@ func verifySimpleTelemetry(
telemetry *appinsights.MetricTelemetry,
) {
require.Equal(t, expectedTelemetryName, telemetry.Name, "Telemetry name is not what was expected")
require.EqualValues(t, m.Fields()[valueField], telemetry.Value, "Telemetry value does not match metric value field")
require.InDelta(t, m.Fields()[valueField], telemetry.Value, testutil.DefaultDelta, "Telemetry value does not match metric value field")
require.Equal(t, m.Time(), telemetry.Timestamp, "Telemetry and metric timestamps do not match")
assertMapContains(t, m.Tags(), telemetry.Properties)
}

View File

@ -149,7 +149,7 @@ func TestWrite(t *testing.T) {
require.Equal(t, expectedTags, createdFakeIngestor.actualOutputMetric["tags"])
expectedTime := tC.expected["timestamp"].(float64)
require.Equal(t, expectedTime, createdFakeIngestor.actualOutputMetric["timestamp"])
require.InDelta(t, expectedTime, createdFakeIngestor.actualOutputMetric["timestamp"], testutil.DefaultDelta)
}
})
}

View File

@ -9,9 +9,10 @@ import (
"time"
"cloud.google.com/go/bigquery"
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require"
"google.golang.org/api/option"
"github.com/influxdata/telegraf/testutil"
)
const (
@ -172,7 +173,7 @@ func TestWrite(t *testing.T) {
pt, _ := time.Parse(time.RFC3339, row.Timestamp)
require.Equal(t, mockMetrics[0].Tags()["tag1"], row.Tag1)
require.Equal(t, mockMetrics[0].Time(), pt)
require.Equal(t, mockMetrics[0].Fields()["value"], row.Value)
require.InDelta(t, mockMetrics[0].Fields()["value"], row.Value, testutil.DefaultDelta)
}
func TestWriteCompact(t *testing.T) {

View File

@ -770,7 +770,7 @@ func TestStandardIndexSettings(t *testing.T) {
require.NoError(t, err)
index := jsonData.Settings.Index
require.Equal(t, "10s", index["refresh_interval"])
require.Equal(t, float64(5000), index["mapping.total_fields.limit"])
require.InDelta(t, float64(5000), index["mapping.total_fields.limit"], testutil.DefaultDelta)
require.Equal(t, "0-1", index["auto_expand_replicas"])
require.Equal(t, "best_compression", index["codec"])
}
@ -793,7 +793,7 @@ func TestDifferentIndexSettings(t *testing.T) {
require.NoError(t, err)
index := jsonData.Settings.Index
require.Equal(t, "20s", index["refresh_interval"])
require.Equal(t, float64(1000), index["mapping.total_fields.limit"])
require.InDelta(t, float64(1000), index["mapping.total_fields.limit"], testutil.DefaultDelta)
require.Equal(t, "best_compression", index["codec"])
}

View File

@ -178,7 +178,7 @@ func UDPServer(t *testing.T, wg *sync.WaitGroup, namefieldnoprefix bool) string
require.Equal(t, "test1", obj["_name"])
}
require.Equal(t, "value1", obj["_tag1"])
require.Equal(t, float64(1), obj["_value"])
require.InDelta(t, float64(1), obj["_value"], testutil.DefaultDelta)
return nil
}
@ -248,7 +248,7 @@ func TCPServer(t *testing.T, wg *sync.WaitGroup, tlsConfig *tls.Config, errs cha
require.Equal(t, "telegraf", obj["short_message"])
require.Equal(t, "test1", obj["_name"])
require.Equal(t, "value1", obj["_tag1"])
require.Equal(t, float64(1), obj["_value"])
require.InDelta(t, float64(1), obj["_value"], testutil.DefaultDelta)
return nil
}

View File

@ -92,9 +92,9 @@ func TestWriteWithFields(t *testing.T) {
// Check if server gets proper data
require.Equal(t, "Test Message", obj.Resources[0].Services[0].LastPluginOutput)
require.Equal(t, transit.MonitorStatus("SERVICE_WARNING"), obj.Resources[0].Services[0].Status)
require.Equal(t, float64(1.0), *obj.Resources[0].Services[0].Metrics[0].Value.DoubleValue)
require.Equal(t, float64(3.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[0].Value.DoubleValue)
require.Equal(t, float64(2.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[1].Value.DoubleValue)
require.InDelta(t, float64(1.0), *obj.Resources[0].Services[0].Metrics[0].Value.DoubleValue, testutil.DefaultDelta)
require.InDelta(t, float64(3.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[0].Value.DoubleValue, testutil.DefaultDelta)
require.InDelta(t, float64(2.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[1].Value.DoubleValue, testutil.DefaultDelta)
_, err = fmt.Fprintln(w, "OK")
require.NoError(t, err)
@ -161,9 +161,9 @@ func TestWriteWithTags(t *testing.T) {
require.Equal(t, "Host01", obj.Groups[0].Resources[0].Name)
require.Equal(t, "Test Tag", obj.Resources[0].Services[0].LastPluginOutput)
require.Equal(t, transit.MonitorStatus("SERVICE_PENDING"), obj.Resources[0].Services[0].Status)
require.Equal(t, float64(1.0), *obj.Resources[0].Services[0].Metrics[0].Value.DoubleValue)
require.Equal(t, float64(9.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[0].Value.DoubleValue)
require.Equal(t, float64(6.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[1].Value.DoubleValue)
require.InDelta(t, float64(1.0), *obj.Resources[0].Services[0].Metrics[0].Value.DoubleValue, testutil.DefaultDelta)
require.InDelta(t, float64(9.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[0].Value.DoubleValue, testutil.DefaultDelta)
require.InDelta(t, float64(6.0), *obj.Resources[0].Services[0].Metrics[0].Thresholds[1].Value.DoubleValue, testutil.DefaultDelta)
_, err = fmt.Fprintln(w, "OK")
require.NoError(t, err)

View File

@ -9,9 +9,10 @@ import (
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require"
)
func readBody(r *http.Request) (nebiusCloudMonitoringMessage, error) {
@ -71,7 +72,7 @@ func TestWrite(t *testing.T) {
require.NoError(t, err)
require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_cpu", message.Metrics[0].Name)
require.Equal(t, 42.0, message.Metrics[0].Value)
require.InDelta(t, 42.0, message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},
@ -93,7 +94,7 @@ func TestWrite(t *testing.T) {
require.NoError(t, err)
require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_value", message.Metrics[0].Name)
require.Equal(t, float64(9.223372036854776e+18), message.Metrics[0].Value)
require.InDelta(t, float64(9.223372036854776e+18), message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},
@ -115,7 +116,7 @@ func TestWrite(t *testing.T) {
require.NoError(t, err)
require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_value", message.Metrics[0].Name)
require.Equal(t, float64(9226), message.Metrics[0].Value)
require.InDelta(t, float64(9226), message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},
@ -140,7 +141,7 @@ func TestWrite(t *testing.T) {
require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_value", message.Metrics[0].Name)
require.Contains(t, message.Metrics[0].Labels, "_name")
require.Equal(t, float64(9226), message.Metrics[0].Value)
require.InDelta(t, float64(9226), message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},

View File

@ -277,10 +277,10 @@ func TestTableSourceIntegration_InconsistentTags(t *testing.T) {
trow := nextSrcRow(tsrc)
require.EqualValues(t, "1", trow["a"])
require.EqualValues(t, nil, trow["c"])
require.Nil(t, trow["c"])
trow = nextSrcRow(tsrc)
require.EqualValues(t, nil, trow["a"])
require.Nil(t, trow["a"])
require.EqualValues(t, "3", trow["c"])
}

View File

@ -200,7 +200,7 @@ func TestGetFloat(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
require.Equal(t, tt.expectedReturn, getFloat(tt.value))
require.InDelta(t, tt.expectedReturn, getFloat(tt.value), testutil.DefaultDelta)
})
}
// Since math.NaN() == math.NaN() returns false

View File

@ -1138,7 +1138,7 @@ func TestBuildHistogram(t *testing.T) {
dist := value.GetDistributionValue()
require.NotNil(t, dist)
require.Equal(t, int64(2), dist.Count)
require.Equal(t, 0.5, dist.Mean)
require.InDelta(t, 0.5, dist.Mean, testutil.DefaultDelta)
require.Len(t, dist.BucketCounts, 5)
require.Equal(t, []int64{0, 1, 0, 1, 1}, dist.BucketCounts)
require.Len(t, dist.BucketOptions.GetExplicitBuckets().Bounds, 4)

View File

@ -9,9 +9,10 @@ import (
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require"
)
func TestWrite(t *testing.T) {
@ -71,7 +72,7 @@ func TestWrite(t *testing.T) {
message := readBody(r)
require.Len(t, message.Metrics, 1)
require.Equal(t, "cpu", message.Metrics[0].Name)
require.Equal(t, 42.0, message.Metrics[0].Value)
require.InDelta(t, 42.0, message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},
@ -92,7 +93,7 @@ func TestWrite(t *testing.T) {
message := readBody(r)
require.Len(t, message.Metrics, 1)
require.Equal(t, "value", message.Metrics[0].Name)
require.Equal(t, float64(9.223372036854776e+18), message.Metrics[0].Value)
require.InDelta(t, float64(9.223372036854776e+18), message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},
@ -113,7 +114,7 @@ func TestWrite(t *testing.T) {
message := readBody(r)
require.Len(t, message.Metrics, 1)
require.Equal(t, "value", message.Metrics[0].Name)
require.Equal(t, float64(9226), message.Metrics[0].Value)
require.InDelta(t, float64(9226), message.Metrics[0].Value, testutil.DefaultDelta)
w.WriteHeader(http.StatusOK)
},
},

View File

@ -235,7 +235,7 @@ func TestNullDelimiter(t *testing.T) {
testCSV := strings.Join([]string{"3.4", "70", "test_name"}, "\u0000")
metrics, err := p.Parse([]byte(testCSV))
require.NoError(t, err)
require.Equal(t, float64(3.4), metrics[0].Fields()["first"])
require.InDelta(t, float64(3.4), metrics[0].Fields()["first"], testutil.DefaultDelta)
require.Equal(t, int64(70), metrics[0].Fields()["second"])
require.Equal(t, "test_name", metrics[0].Fields()["third"])
}

View File

@ -519,8 +519,8 @@ func TestParseThreshold(t *testing.T) {
for i := range tests {
min, max, err := parseThreshold(tests[i].input)
require.Equal(t, tests[i].eMin, min)
require.Equal(t, tests[i].eMax, max)
require.InDelta(t, tests[i].eMin, min, testutil.DefaultDelta)
require.InDelta(t, tests[i].eMax, max, testutil.DefaultDelta)
require.Equal(t, tests[i].eErr, err)
}
}

View File

@ -16,6 +16,11 @@ import (
var localhost = "localhost"
const (
DefaultDelta = 0.001
DefaultEpsilon = 0.1
)
// GetLocalHost returns the DOCKER_HOST environment variable, parsing
// out any scheme or ports so that only the IP address is returned.
func GetLocalHost() string {