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 # len, negative-positive, nil-compare, require-error, suite-dont-use-pkg, suite-extra-assert-call, useless-assert
# ). # ).
enable: enable:
- blank-import
- bool-compare - bool-compare
- compares - compares
- empty - empty
- error-is-as - error-is-as
- error-nil - error-nil
- expected-actual - expected-actual
- float-compare
- len - len
- negative-positive
- nil-compare
- require-error - require-error
- suite-dont-use-pkg - suite-dont-use-pkg
- suite-extra-assert-call - suite-extra-assert-call
- suite-thelper - suite-thelper
- useless-assert
run: run:
# Timeout for analysis, e.g. 30s, 5m. # Timeout for analysis, e.g. 30s, 5m.

View File

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

View File

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

View File

@ -42,7 +42,7 @@ func TestParseOsdDump(t *testing.T) {
dump, err := c.parseDump(osdPerfDump) dump, err := c.parseDump(osdPerfDump)
require.NoError(t, err) require.NoError(t, err)
require.InEpsilon(t, 552132.109360000, dump["filestore"]["commitcycle_interval.sum"], epsilon) 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) { func TestParseMdsDump(t *testing.T) {
@ -50,7 +50,7 @@ func TestParseMdsDump(t *testing.T) {
dump, err := c.parseDump(mdsPerfDump) dump, err := c.parseDump(mdsPerfDump)
require.NoError(t, err) require.NoError(t, err)
require.InEpsilon(t, 2408386.600934982, dump["mds"]["reply_latency.sum"], epsilon) 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) { func TestParseRgwDump(t *testing.T) {
@ -58,7 +58,7 @@ func TestParseRgwDump(t *testing.T) {
dump, err := c.parseDump(rgwPerfDump) dump, err := c.parseDump(rgwPerfDump)
require.NoError(t, err) require.NoError(t, err)
require.InEpsilon(t, 0.002219876, dump["rgw"]["get_initial_lat.sum"], epsilon) 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) { func TestDecodeStatus(t *testing.T) {

View File

@ -293,6 +293,6 @@ func TestRunErrorInSubscriber(t *testing.T) {
func validateTestInfluxMetric(t *testing.T, m *testutil.Metric) { func validateTestInfluxMetric(t *testing.T, m *testutil.Metric) {
require.Equal(t, "cpu_load_short", m.Measurement) require.Equal(t, "cpu_load_short", m.Measurement)
require.Equal(t, "server01", m.Tags["host"]) 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()) 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.NoError(t, acc.GatherError(s.Start))
require.Eventually(t, func() bool { require.Eventually(t, func() bool {
if v, found := acc.FloatField(measurement, fieldName); found { 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 true
} }
return false return false
@ -226,7 +226,7 @@ func TestCtrlXMetricsMulti(t *testing.T) {
require.NoError(t, acc.GatherError(s.Start)) require.NoError(t, acc.GatherError(s.Start))
require.Eventually(t, func() bool { require.Eventually(t, func() bool {
if v, found := acc.FloatField(measurement, fieldName); found { 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 true
} }
return false 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].PluginID, acc.Metrics[0].Tags["plugin_id"])
require.Equal(t, expectedOutput[0].PluginType, acc.Metrics[0].Tags["plugin_type"]) 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].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].PluginID, acc.Metrics[1].Tags["plugin_id"])
require.Equal(t, expectedOutput[1].PluginType, acc.Metrics[1].Tags["plugin_type"]) 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].PluginCategory, acc.Metrics[1].Tags["plugin_category"])
require.Equal(t, *expectedOutput[1].RetryCount, acc.Metrics[1].Fields["retry_count"]) require.InDelta(t, *expectedOutput[1].RetryCount, acc.Metrics[1].Fields["retry_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[1].BufferQueueLength, acc.Metrics[1].Fields["buffer_queue_length"]) require.InDelta(t, *expectedOutput[1].BufferQueueLength, acc.Metrics[1].Fields["buffer_queue_length"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[1].BufferTotalQueuedSize, acc.Metrics[1].Fields["buffer_total_queued_size"]) 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].PluginID, acc.Metrics[2].Tags["plugin_id"])
require.Equal(t, expectedOutput[2].PluginType, acc.Metrics[2].Tags["plugin_type"]) 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].PluginCategory, acc.Metrics[2].Tags["plugin_category"])
require.Equal(t, *expectedOutput[2].RetryCount, acc.Metrics[2].Fields["retry_count"]) require.InDelta(t, *expectedOutput[2].RetryCount, acc.Metrics[2].Fields["retry_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].BufferQueueLength, acc.Metrics[2].Fields["buffer_queue_length"]) require.InDelta(t, *expectedOutput[2].BufferQueueLength, acc.Metrics[2].Fields["buffer_queue_length"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].BufferTotalQueuedSize, acc.Metrics[2].Fields["buffer_total_queued_size"]) require.InDelta(t, *expectedOutput[2].BufferTotalQueuedSize, acc.Metrics[2].Fields["buffer_total_queued_size"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].EmitRecords, acc.Metrics[2].Fields["emit_records"]) require.InDelta(t, *expectedOutput[2].EmitRecords, acc.Metrics[2].Fields["emit_records"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].EmitSize, acc.Metrics[2].Fields["emit_size"]) require.InDelta(t, *expectedOutput[2].EmitSize, acc.Metrics[2].Fields["emit_size"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].EmitCount, acc.Metrics[2].Fields["emit_count"]) require.InDelta(t, *expectedOutput[2].EmitCount, acc.Metrics[2].Fields["emit_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].RollbackCount, acc.Metrics[2].Fields["rollback_count"]) require.InDelta(t, *expectedOutput[2].RollbackCount, acc.Metrics[2].Fields["rollback_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].SlowFlushCount, acc.Metrics[2].Fields["slow_flush_count"]) require.InDelta(t, *expectedOutput[2].SlowFlushCount, acc.Metrics[2].Fields["slow_flush_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].WriteCount, acc.Metrics[2].Fields["write_count"]) require.InDelta(t, *expectedOutput[2].WriteCount, acc.Metrics[2].Fields["write_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].FlushTimeCount, acc.Metrics[2].Fields["flush_time_count"]) require.InDelta(t, *expectedOutput[2].FlushTimeCount, acc.Metrics[2].Fields["flush_time_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].BufferStageLength, acc.Metrics[2].Fields["buffer_stage_length"]) require.InDelta(t, *expectedOutput[2].BufferStageLength, acc.Metrics[2].Fields["buffer_stage_length"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].BufferStageByteSize, acc.Metrics[2].Fields["buffer_stage_byte_size"]) require.InDelta(t, *expectedOutput[2].BufferStageByteSize, acc.Metrics[2].Fields["buffer_stage_byte_size"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].BufferQueueByteSize, acc.Metrics[2].Fields["buffer_queue_byte_size"]) require.InDelta(t, *expectedOutput[2].BufferQueueByteSize, acc.Metrics[2].Fields["buffer_queue_byte_size"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[2].AvailBufferSpaceRatios, acc.Metrics[2].Fields["buffer_available_buffer_space_ratios"]) 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].PluginID, acc.Metrics[3].Tags["plugin_id"])
require.Equal(t, expectedOutput[3].PluginType, acc.Metrics[3].Tags["plugin_type"]) 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].PluginCategory, acc.Metrics[3].Tags["plugin_category"])
require.Equal(t, *expectedOutput[3].RetryCount, acc.Metrics[3].Fields["retry_count"]) require.InDelta(t, *expectedOutput[3].RetryCount, acc.Metrics[3].Fields["retry_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[3].BufferQueueLength, acc.Metrics[3].Fields["buffer_queue_length"]) require.InDelta(t, *expectedOutput[3].BufferQueueLength, acc.Metrics[3].Fields["buffer_queue_length"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[3].BufferTotalQueuedSize, acc.Metrics[3].Fields["buffer_total_queued_size"]) require.InDelta(t, *expectedOutput[3].BufferTotalQueuedSize, acc.Metrics[3].Fields["buffer_total_queued_size"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[3].EmitRecords, acc.Metrics[3].Fields["emit_records"]) require.InDelta(t, *expectedOutput[3].EmitRecords, acc.Metrics[3].Fields["emit_records"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[3].RollbackCount, acc.Metrics[3].Fields["rollback_count"]) require.InDelta(t, *expectedOutput[3].RollbackCount, acc.Metrics[3].Fields["rollback_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[3].SlowFlushCount, acc.Metrics[3].Fields["slow_flush_count"]) require.InDelta(t, *expectedOutput[3].SlowFlushCount, acc.Metrics[3].Fields["slow_flush_count"], testutil.DefaultDelta)
require.Equal(t, *expectedOutput[3].AvailBufferSpaceRatios, acc.Metrics[3].Fields["buffer_available_buffer_space_ratios"]) 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, "cpu", metric.Measurement)
require.Equal(t, "us-east-1", metric.Tags["tags_datacenter"]) require.Equal(t, "us-east-1", metric.Tags["tags_datacenter"])
require.Equal(t, "localhost", metric.Tags["tags_host"]) require.Equal(t, "localhost", metric.Tags["tags_host"])
require.Equal(t, 10.0, metric.Fields["fields_cosine"]) require.InDelta(t, 10.0, metric.Fields["fields_cosine"], testutil.DefaultDelta)
require.Equal(t, -1.0975806427415925e-12, metric.Fields["fields_sine"]) require.InEpsilon(t, -1.0975806427415925e-12, metric.Fields["fields_sine"], testutil.DefaultEpsilon)
} }
func TestRunGatherOneIteration(t *testing.T) { func TestRunGatherOneIteration(t *testing.T) {

View File

@ -3,7 +3,6 @@ package http_test
import ( import (
"compress/gzip" "compress/gzip"
"fmt" "fmt"
"github.com/influxdata/telegraf/config"
"io" "io"
"math/rand" "math/rand"
"net" "net"
@ -19,6 +18,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/config"
httpconfig "github.com/influxdata/telegraf/plugins/common/http" httpconfig "github.com/influxdata/telegraf/plugins/common/http"
"github.com/influxdata/telegraf/plugins/common/oauth" "github.com/influxdata/telegraf/plugins/common/oauth"
httpplugin "github.com/influxdata/telegraf/plugins/inputs/http" httpplugin "github.com/influxdata/telegraf/plugins/inputs/http"
@ -62,7 +62,7 @@ func TestHTTPWithJSONFormat(t *testing.T) {
var metric = acc.Metrics[0] var metric = acc.Metrics[0]
require.Equal(t, metric.Measurement, metricName) require.Equal(t, metric.Measurement, metricName)
require.Len(t, acc.Metrics[0].Fields, 1) 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) 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: case float64:
value, ok := acc.FloatField("http_response", key) value, ok := acc.FloatField("http_response", key)
require.True(t, ok) require.True(t, ok)
require.Equal(t, field, value) require.InDelta(t, field, value, testutil.DefaultDelta)
case string: case string:
value, ok := acc.StringField("http_response", key) value, ok := acc.StringField("http_response", key)
require.True(t, ok) require.True(t, ok)

View File

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

View File

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

View File

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

View File

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

View File

@ -5,6 +5,8 @@ import (
"testing" "testing"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/influxdata/telegraf/testutil"
) )
func TestDecodeInt32(t *testing.T) { func TestDecodeInt32(t *testing.T) {
@ -66,7 +68,7 @@ func TestDecodeFloat64(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
out, ok := v.(float64) out, ok := v.(float64)
require.True(t, ok) 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) { func TestDecodeBool(t *testing.T) {

View File

@ -98,7 +98,7 @@ func TestPgBouncerGeneratesMetricsIntegration(t *testing.T) {
metricsCounted++ metricsCounted++
} }
require.Greater(t, metricsCounted, 0) require.Positive(t, metricsCounted)
require.Equal(t, len(intMetricsPgBouncer)+len(intMetricsPgBouncerPools), metricsCounted) require.Equal(t, len(intMetricsPgBouncer)+len(intMetricsPgBouncerPools), metricsCounted)
} }
@ -210,6 +210,6 @@ func TestPgBouncerGeneratesMetricsIntegrationShowCommands(t *testing.T) {
metricsCounted++ metricsCounted++
} }
require.Greater(t, metricsCounted, 0) require.Positive(t, metricsCounted)
require.Equal(t, len(intMetricsPgBouncerPools)+len(intMetricsPgBouncerLists)+len(intMetricsPgBouncerDatabases), 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, 55, stats.ttl, "ttl value is 55")
require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted") require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were received") require.Equal(t, 5, stats.packetsReceived, "5 packets were received")
require.InDelta(t, 15.087, stats.min, 0.001) require.InDelta(t, 15.087, stats.min, testutil.DefaultDelta)
require.InDelta(t, 20.224, stats.avg, 0.001) require.InDelta(t, 20.224, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 27.263, stats.max, 0.001) require.InDelta(t, 27.263, stats.max, testutil.DefaultDelta)
require.InDelta(t, 4.076, stats.stddev, 0.001) require.InDelta(t, 4.076, stats.stddev, testutil.DefaultDelta)
stats, err = processPingOutput(freebsdPing6Output) stats, err = processPingOutput(freebsdPing6Output)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 117, stats.ttl, "ttl value is 117") 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.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were received") require.Equal(t, 5, stats.packetsReceived, "5 packets were received")
require.InDelta(t, 35.727, stats.min, 0.001) require.InDelta(t, 35.727, stats.min, testutil.DefaultDelta)
require.InDelta(t, 53.211, stats.avg, 0.001) require.InDelta(t, 53.211, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 93.870, stats.max, 0.001) require.InDelta(t, 93.870, stats.max, testutil.DefaultDelta)
require.InDelta(t, 22.000, stats.stddev, 0.001) require.InDelta(t, 22.000, stats.stddev, testutil.DefaultDelta)
stats, err = processPingOutput(linuxPingOutput) stats, err = processPingOutput(linuxPingOutput)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 63, stats.ttl, "ttl value is 63") 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.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "5 packets were received") require.Equal(t, 5, stats.packetsReceived, "5 packets were received")
require.InDelta(t, 35.225, stats.min, 0.001) require.InDelta(t, 35.225, stats.min, testutil.DefaultDelta)
require.InDelta(t, 43.628, stats.avg, 0.001) require.InDelta(t, 43.628, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 51.806, stats.max, 0.001) require.InDelta(t, 51.806, stats.max, testutil.DefaultDelta)
require.InDelta(t, 5.325, stats.stddev, 0.001) require.InDelta(t, 5.325, stats.stddev, testutil.DefaultDelta)
stats, err = processPingOutput(busyBoxPingOutput) stats, err = processPingOutput(busyBoxPingOutput)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 56, stats.ttl, "ttl value is 56") 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.packetsTransmitted, "4 packets were transmitted")
require.Equal(t, 4, stats.packetsReceived, "4 packets were received") require.Equal(t, 4, stats.packetsReceived, "4 packets were received")
require.InDelta(t, 15.810, stats.min, 0.001) require.InDelta(t, 15.810, stats.min, testutil.DefaultDelta)
require.InDelta(t, 17.611, stats.avg, 0.001) require.InDelta(t, 17.611, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 22.559, stats.max, 0.001) require.InDelta(t, 22.559, stats.max, testutil.DefaultDelta)
require.InDelta(t, -1.0, stats.stddev, 0.001) require.InDelta(t, -1.0, stats.stddev, testutil.DefaultDelta)
} }
// Linux ping output with varying TTL // 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, 63, stats.ttl, "ttl value is 63")
require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted") require.Equal(t, 5, stats.packetsTransmitted, "5 packets were transmitted")
require.Equal(t, 5, stats.packetsReceived, "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, 35.225, stats.min, testutil.DefaultDelta)
require.InDelta(t, 43.628, stats.avg, 0.001) require.InDelta(t, 43.628, stats.avg, testutil.DefaultDelta)
require.InDelta(t, 51.806, stats.max, 0.001) require.InDelta(t, 51.806, stats.max, testutil.DefaultDelta)
require.InDelta(t, 5.325, stats.stddev, 0.001) require.InDelta(t, 5.325, stats.stddev, testutil.DefaultDelta)
} }
// Test that processPingOutput returns an error when 'ping' fails to run, such // 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_transmitted", 5))
require.True(t, acc.HasPoint("ping", map[string]string{"url": "localhost"}, "packets_received", 5)) require.True(t, acc.HasPoint("ping", map[string]string{"url": "localhost"}, "packets_received", 5))
require.True(t, acc.HasField("ping", "percentile50_ms")) 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.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.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", "percent_packet_loss"))
require.True(t, acc.HasField("ping", "minimum_response_ms")) require.True(t, acc.HasField("ping", "minimum_response_ms"))
require.True(t, acc.HasField("ping", "average_response_ms")) require.True(t, acc.HasField("ping", "average_response_ms"))

View File

@ -125,7 +125,7 @@ func TestPostgresqlGeneratesMetricsIntegration(t *testing.T) {
metricsCounted++ metricsCounted++
} }
require.Greater(t, metricsCounted, 0) require.Positive(t, metricsCounted)
require.Equal(t, len(floatMetrics)+len(intMetrics)+len(int32Metrics)+len(stringMetrics), 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++ metricsCounted++
} }
require.Greater(t, metricsCounted, 0) require.Positive(t, metricsCounted)
require.Equal(t, len(floatMetrics)+len(intMetrics)+len(int32Metrics)+len(stringMetrics), 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) { "SELECT 10.0::float AS myvalue": func(acc *testutil.Accumulator) {
v, found := acc.FloatField(measurement, "myvalue") v, found := acc.FloatField(measurement, "myvalue")
require.True(t, found) 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) { "SELECT 10.0 AS myvalue": func(acc *testutil.Accumulator) {
v, found := acc.StringField(measurement, "myvalue") 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 // 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, 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 // test if sSingle and sMultiple did compute the same stats for valid.multiple.duplicate
require.NoError(t, testValidateSet("valid_multiple_duplicate", 2, sSingle.sets)) 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, newInfo, n/3, "Aligned infos have wrong size")
require.Len(t, newValues, n/3, "Aligned values have wrong size") require.Len(t, newValues, n/3, "Aligned values have wrong size")
for _, v := range newValues { 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, newInfo, n/3, "Aligned infos have wrong size")
require.Len(t, newValues, n/3, "Aligned values have wrong size") require.Len(t, newValues, n/3, "Aligned values have wrong size")
for _, v := range newValues { 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 { 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.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") require.EqualValues(t, m.Fields()[countField], telemetry.Count, "Telemetry sample count does not mach metric sample count field")
verifyAggregateField("min", telemetry.Min) verifyAggregateField("min", telemetry.Min)
verifyAggregateField("max", telemetry.Max) verifyAggregateField("max", telemetry.Max)
@ -425,7 +425,7 @@ func verifySimpleTelemetry(
telemetry *appinsights.MetricTelemetry, telemetry *appinsights.MetricTelemetry,
) { ) {
require.Equal(t, expectedTelemetryName, telemetry.Name, "Telemetry name is not what was expected") 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") require.Equal(t, m.Time(), telemetry.Timestamp, "Telemetry and metric timestamps do not match")
assertMapContains(t, m.Tags(), telemetry.Properties) assertMapContains(t, m.Tags(), telemetry.Properties)
} }

View File

@ -149,7 +149,7 @@ func TestWrite(t *testing.T) {
require.Equal(t, expectedTags, createdFakeIngestor.actualOutputMetric["tags"]) require.Equal(t, expectedTags, createdFakeIngestor.actualOutputMetric["tags"])
expectedTime := tC.expected["timestamp"].(float64) 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" "time"
"cloud.google.com/go/bigquery" "cloud.google.com/go/bigquery"
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"google.golang.org/api/option" "google.golang.org/api/option"
"github.com/influxdata/telegraf/testutil"
) )
const ( const (
@ -172,7 +173,7 @@ func TestWrite(t *testing.T) {
pt, _ := time.Parse(time.RFC3339, row.Timestamp) pt, _ := time.Parse(time.RFC3339, row.Timestamp)
require.Equal(t, mockMetrics[0].Tags()["tag1"], row.Tag1) require.Equal(t, mockMetrics[0].Tags()["tag1"], row.Tag1)
require.Equal(t, mockMetrics[0].Time(), pt) 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) { func TestWriteCompact(t *testing.T) {

View File

@ -770,7 +770,7 @@ func TestStandardIndexSettings(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
index := jsonData.Settings.Index index := jsonData.Settings.Index
require.Equal(t, "10s", index["refresh_interval"]) 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, "0-1", index["auto_expand_replicas"])
require.Equal(t, "best_compression", index["codec"]) require.Equal(t, "best_compression", index["codec"])
} }
@ -793,7 +793,7 @@ func TestDifferentIndexSettings(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
index := jsonData.Settings.Index index := jsonData.Settings.Index
require.Equal(t, "20s", index["refresh_interval"]) 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"]) 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, "test1", obj["_name"])
} }
require.Equal(t, "value1", obj["_tag1"]) require.Equal(t, "value1", obj["_tag1"])
require.Equal(t, float64(1), obj["_value"]) require.InDelta(t, float64(1), obj["_value"], testutil.DefaultDelta)
return nil 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, "telegraf", obj["short_message"])
require.Equal(t, "test1", obj["_name"]) require.Equal(t, "test1", obj["_name"])
require.Equal(t, "value1", obj["_tag1"]) require.Equal(t, "value1", obj["_tag1"])
require.Equal(t, float64(1), obj["_value"]) require.InDelta(t, float64(1), obj["_value"], testutil.DefaultDelta)
return nil return nil
} }

View File

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

View File

@ -9,9 +9,10 @@ import (
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/testutil" "github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require"
) )
func readBody(r *http.Request) (nebiusCloudMonitoringMessage, error) { func readBody(r *http.Request) (nebiusCloudMonitoringMessage, error) {
@ -71,7 +72,7 @@ func TestWrite(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_cpu", message.Metrics[0].Name) 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) w.WriteHeader(http.StatusOK)
}, },
}, },
@ -93,7 +94,7 @@ func TestWrite(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_value", message.Metrics[0].Name) 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) w.WriteHeader(http.StatusOK)
}, },
}, },
@ -115,7 +116,7 @@ func TestWrite(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_value", message.Metrics[0].Name) 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) w.WriteHeader(http.StatusOK)
}, },
}, },
@ -140,7 +141,7 @@ func TestWrite(t *testing.T) {
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "cluster_value", message.Metrics[0].Name) require.Equal(t, "cluster_value", message.Metrics[0].Name)
require.Contains(t, message.Metrics[0].Labels, "_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) w.WriteHeader(http.StatusOK)
}, },
}, },

View File

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

View File

@ -200,7 +200,7 @@ func TestGetFloat(t *testing.T) {
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { 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 // Since math.NaN() == math.NaN() returns false

View File

@ -1138,7 +1138,7 @@ func TestBuildHistogram(t *testing.T) {
dist := value.GetDistributionValue() dist := value.GetDistributionValue()
require.NotNil(t, dist) require.NotNil(t, dist)
require.Equal(t, int64(2), dist.Count) 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.Len(t, dist.BucketCounts, 5)
require.Equal(t, []int64{0, 1, 0, 1, 1}, dist.BucketCounts) require.Equal(t, []int64{0, 1, 0, 1, 1}, dist.BucketCounts)
require.Len(t, dist.BucketOptions.GetExplicitBuckets().Bounds, 4) require.Len(t, dist.BucketOptions.GetExplicitBuckets().Bounds, 4)

View File

@ -9,9 +9,10 @@ import (
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/testutil" "github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require"
) )
func TestWrite(t *testing.T) { func TestWrite(t *testing.T) {
@ -71,7 +72,7 @@ func TestWrite(t *testing.T) {
message := readBody(r) message := readBody(r)
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "cpu", message.Metrics[0].Name) 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) w.WriteHeader(http.StatusOK)
}, },
}, },
@ -92,7 +93,7 @@ func TestWrite(t *testing.T) {
message := readBody(r) message := readBody(r)
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "value", message.Metrics[0].Name) 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) w.WriteHeader(http.StatusOK)
}, },
}, },
@ -113,7 +114,7 @@ func TestWrite(t *testing.T) {
message := readBody(r) message := readBody(r)
require.Len(t, message.Metrics, 1) require.Len(t, message.Metrics, 1)
require.Equal(t, "value", message.Metrics[0].Name) 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) 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") testCSV := strings.Join([]string{"3.4", "70", "test_name"}, "\u0000")
metrics, err := p.Parse([]byte(testCSV)) metrics, err := p.Parse([]byte(testCSV))
require.NoError(t, err) 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, int64(70), metrics[0].Fields()["second"])
require.Equal(t, "test_name", metrics[0].Fields()["third"]) require.Equal(t, "test_name", metrics[0].Fields()["third"])
} }

View File

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

View File

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