diff --git a/.golangci.yml b/.golangci.yml index cc9318c05e535..e089cfb9e536a 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -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. diff --git a/agent/accumulator_test.go b/agent/accumulator_test.go index 095d15088d034..718c640d9ff6f 100644 --- a/agent/accumulator_test.go +++ b/agent/accumulator_test.go @@ -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) diff --git a/metric/metric_test.go b/metric/metric_test.go index ab63598e4c833..cca9168060fa6 100644 --- a/metric/metric_test.go +++ b/metric/metric_test.go @@ -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) { diff --git a/plugins/inputs/ceph/ceph_test.go b/plugins/inputs/ceph/ceph_test.go index f269196f10a01..f55fb2e6e3d0c 100644 --- a/plugins/inputs/ceph/ceph_test.go +++ b/plugins/inputs/ceph/ceph_test.go @@ -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) { diff --git a/plugins/inputs/cloud_pubsub/cloud_pubsub_test.go b/plugins/inputs/cloud_pubsub/cloud_pubsub_test.go index fb15b6ec47d5a..e7a6ee3523be1 100644 --- a/plugins/inputs/cloud_pubsub/cloud_pubsub_test.go +++ b/plugins/inputs/cloud_pubsub/cloud_pubsub_test.go @@ -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()) } diff --git a/plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go b/plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go index 26159e3af2a47..09f9dfe2363b9 100644 --- a/plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go +++ b/plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go @@ -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 diff --git a/plugins/inputs/fluentd/fluentd_test.go b/plugins/inputs/fluentd/fluentd_test.go index be143f05b1247..2fc1086932a8f 100644 --- a/plugins/inputs/fluentd/fluentd_test.go +++ b/plugins/inputs/fluentd/fluentd_test.go @@ -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) } diff --git a/plugins/inputs/google_cloud_storage/google_cloud_storage_test.go b/plugins/inputs/google_cloud_storage/google_cloud_storage_test.go index 1e85e5366ce57..c421742e77a65 100644 --- a/plugins/inputs/google_cloud_storage/google_cloud_storage_test.go +++ b/plugins/inputs/google_cloud_storage/google_cloud_storage_test.go @@ -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) { diff --git a/plugins/inputs/http/http_test.go b/plugins/inputs/http/http_test.go index d456a2a435a30..d750b6100ad10 100644 --- a/plugins/inputs/http/http_test.go +++ b/plugins/inputs/http/http_test.go @@ -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) } diff --git a/plugins/inputs/http_response/http_response_test.go b/plugins/inputs/http_response/http_response_test.go index f4a8741acab11..e718301408872 100644 --- a/plugins/inputs/http_response/http_response_test.go +++ b/plugins/inputs/http_response/http_response_test.go @@ -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) diff --git a/plugins/inputs/intel_dlb/intel_dlb_test.go b/plugins/inputs/intel_dlb/intel_dlb_test.go index 8177cc75f037a..f5a621759254b 100644 --- a/plugins/inputs/intel_dlb/intel_dlb_test.go +++ b/plugins/inputs/intel_dlb/intel_dlb_test.go @@ -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 diff --git a/plugins/inputs/intel_powerstat/intel_powerstat_test.go b/plugins/inputs/intel_powerstat/intel_powerstat_test.go index 91877b4553ee6..d84fda97d2b40 100644 --- a/plugins/inputs/intel_powerstat/intel_powerstat_test.go +++ b/plugins/inputs/intel_powerstat/intel_powerstat_test.go @@ -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) }) } diff --git a/plugins/inputs/intel_rdt/publisher_test.go b/plugins/inputs/intel_rdt/publisher_test.go index 4e63242e286ae..43fb4e6444328 100644 --- a/plugins/inputs/intel_rdt/publisher_test.go +++ b/plugins/inputs/intel_rdt/publisher_test.go @@ -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" diff --git a/plugins/inputs/mock/mock_test.go b/plugins/inputs/mock/mock_test.go index 523894820c847..7878ccb6ff8eb 100644 --- a/plugins/inputs/mock/mock_test.go +++ b/plugins/inputs/mock/mock_test.go @@ -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) } diff --git a/plugins/inputs/netflow/type_conversion_test.go b/plugins/inputs/netflow/type_conversion_test.go index 90149bd4d5c67..f3ef1f3575962 100644 --- a/plugins/inputs/netflow/type_conversion_test.go +++ b/plugins/inputs/netflow/type_conversion_test.go @@ -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) { diff --git a/plugins/inputs/pgbouncer/pgbouncer_test.go b/plugins/inputs/pgbouncer/pgbouncer_test.go index 4a39a1e3e50fa..3e86a461314e8 100644 --- a/plugins/inputs/pgbouncer/pgbouncer_test.go +++ b/plugins/inputs/pgbouncer/pgbouncer_test.go @@ -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) } diff --git a/plugins/inputs/ping/ping_test.go b/plugins/inputs/ping/ping_test.go index bae8a98b163b0..e927ddde60306 100644 --- a/plugins/inputs/ping/ping_test.go +++ b/plugins/inputs/ping/ping_test.go @@ -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")) diff --git a/plugins/inputs/postgresql/postgresql_test.go b/plugins/inputs/postgresql/postgresql_test.go index 699a2dd639498..24df5870426e1 100644 --- a/plugins/inputs/postgresql/postgresql_test.go +++ b/plugins/inputs/postgresql/postgresql_test.go @@ -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) } diff --git a/plugins/inputs/postgresql_extensible/postgresql_extensible_test.go b/plugins/inputs/postgresql_extensible/postgresql_extensible_test.go index 759d9079d0969..85773eb128100 100644 --- a/plugins/inputs/postgresql_extensible/postgresql_extensible_test.go +++ b/plugins/inputs/postgresql_extensible/postgresql_extensible_test.go @@ -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") diff --git a/plugins/inputs/statsd/statsd_test.go b/plugins/inputs/statsd/statsd_test.go index 2f7a0fa83b007..3b5d10bb3922a 100644 --- a/plugins/inputs/statsd/statsd_test.go +++ b/plugins/inputs/statsd/statsd_test.go @@ -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)) diff --git a/plugins/inputs/vsphere/vsphere_test.go b/plugins/inputs/vsphere/vsphere_test.go index 77d1d80b99d6b..fe9ed6166e1a6 100644 --- a/plugins/inputs/vsphere/vsphere_test.go +++ b/plugins/inputs/vsphere/vsphere_test.go @@ -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") } } diff --git a/plugins/outputs/application_insights/application_insights_test.go b/plugins/outputs/application_insights/application_insights_test.go index 541d990177096..71244bd48f8e6 100644 --- a/plugins/outputs/application_insights/application_insights_test.go +++ b/plugins/outputs/application_insights/application_insights_test.go @@ -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) } diff --git a/plugins/outputs/azure_data_explorer/azure_data_explorer_test.go b/plugins/outputs/azure_data_explorer/azure_data_explorer_test.go index 1e34e50552b85..ebe76a56569b6 100644 --- a/plugins/outputs/azure_data_explorer/azure_data_explorer_test.go +++ b/plugins/outputs/azure_data_explorer/azure_data_explorer_test.go @@ -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) } }) } diff --git a/plugins/outputs/bigquery/bigquery_test.go b/plugins/outputs/bigquery/bigquery_test.go index f2bc3b1d7155f..a29221ac26054 100644 --- a/plugins/outputs/bigquery/bigquery_test.go +++ b/plugins/outputs/bigquery/bigquery_test.go @@ -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) { diff --git a/plugins/outputs/elasticsearch/elasticsearch_test.go b/plugins/outputs/elasticsearch/elasticsearch_test.go index 82e2494616286..c41193c0211c8 100644 --- a/plugins/outputs/elasticsearch/elasticsearch_test.go +++ b/plugins/outputs/elasticsearch/elasticsearch_test.go @@ -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"]) } diff --git a/plugins/outputs/graylog/graylog_test_linux.go b/plugins/outputs/graylog/graylog_test_linux.go index 11fe638f027ca..0023aab787160 100644 --- a/plugins/outputs/graylog/graylog_test_linux.go +++ b/plugins/outputs/graylog/graylog_test_linux.go @@ -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 } diff --git a/plugins/outputs/groundwork/groundwork_test.go b/plugins/outputs/groundwork/groundwork_test.go index 91755971914d0..a1b8b18fc19cf 100644 --- a/plugins/outputs/groundwork/groundwork_test.go +++ b/plugins/outputs/groundwork/groundwork_test.go @@ -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) diff --git a/plugins/outputs/nebius_cloud_monitoring/nebius_cloud_monitoring_test.go b/plugins/outputs/nebius_cloud_monitoring/nebius_cloud_monitoring_test.go index 5e13a6ac8fe9d..51c4f310f1bc5 100644 --- a/plugins/outputs/nebius_cloud_monitoring/nebius_cloud_monitoring_test.go +++ b/plugins/outputs/nebius_cloud_monitoring/nebius_cloud_monitoring_test.go @@ -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) }, }, diff --git a/plugins/outputs/postgresql/table_source_test.go b/plugins/outputs/postgresql/table_source_test.go index ed2a49e1e7653..dceeb78e03152 100644 --- a/plugins/outputs/postgresql/table_source_test.go +++ b/plugins/outputs/postgresql/table_source_test.go @@ -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"]) } diff --git a/plugins/outputs/sensu/sensu_test.go b/plugins/outputs/sensu/sensu_test.go index 724bf3a022b0a..ea0d8df0150dd 100644 --- a/plugins/outputs/sensu/sensu_test.go +++ b/plugins/outputs/sensu/sensu_test.go @@ -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 diff --git a/plugins/outputs/stackdriver/stackdriver_test.go b/plugins/outputs/stackdriver/stackdriver_test.go index 378444cc6151a..2c9d362e3e7bb 100644 --- a/plugins/outputs/stackdriver/stackdriver_test.go +++ b/plugins/outputs/stackdriver/stackdriver_test.go @@ -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) diff --git a/plugins/outputs/yandex_cloud_monitoring/yandex_cloud_monitoring_test.go b/plugins/outputs/yandex_cloud_monitoring/yandex_cloud_monitoring_test.go index 049af5dbc5f92..facd0fb70aae5 100644 --- a/plugins/outputs/yandex_cloud_monitoring/yandex_cloud_monitoring_test.go +++ b/plugins/outputs/yandex_cloud_monitoring/yandex_cloud_monitoring_test.go @@ -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) }, }, diff --git a/plugins/parsers/csv/parser_test.go b/plugins/parsers/csv/parser_test.go index 436e8d0499e6c..d75fc8a603a2b 100644 --- a/plugins/parsers/csv/parser_test.go +++ b/plugins/parsers/csv/parser_test.go @@ -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"]) } diff --git a/plugins/parsers/nagios/parser_test.go b/plugins/parsers/nagios/parser_test.go index 2da37511c0804..31f2b1b156cbc 100644 --- a/plugins/parsers/nagios/parser_test.go +++ b/plugins/parsers/nagios/parser_test.go @@ -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) } } diff --git a/testutil/testutil.go b/testutil/testutil.go index 8437991b87217..db548e94d327b 100644 --- a/testutil/testutil.go +++ b/testutil/testutil.go @@ -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 {