influxdata / telegraf

Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.
https://influxdata.com/telegraf
MIT License
14.29k stars 5.53k forks source link

testifylint->go-require - Should we enable it? #15535

Open zak-pawel opened 1 month ago

zak-pawel commented 1 month ago

Description

This issue starts a discussion about enabling:

This checker is a radically improved analogue of go vet's testinggoroutine check.

The point of the check is that, according to the documentation, functions leading to t.FailNow (essentially to runtime.GoExit) must only be used in the goroutine that runs the test. Otherwise, they will not work as declared, namely, finish the test function.

You can continue to use require as the current goroutine finisher, but this could lead

  1. to possible resource leaks in tests;
  2. to increasing of confusion, because functions will be not used as intended.

Typically, any assertions inside goroutines are a marker of poor test architecture. Try to execute them in the main goroutine and distribute the data necessary for this into it (example).

Also a bad solution would be to simply replace all require in goroutines with assert (like here) – this will only mask the problem.

In addition, the checker warns about require in HTTP handlers (functions and methods whose signature matches http.HandlerFunc), because handlers run in a separate service goroutine that services the HTTP connection. Terminating these goroutines can lead to undefined behaviour and difficulty debugging tests. You can turn off the check using the --go-require.ignore-http-handlers flag.

P.S. Look at testify's issue, related to assertions in the goroutines.

Example

go func() {
    conn, err = lis.Accept()
    require.NoError(t, err) ❌

    if assert.Error(err) {     ✅
        assert.FailNow(t, msg) ❌
    }
}()

Expected output

Decision about enabling or not enabling this checker.

Findings

For this checker, the following findings were found in the current codebase:

config/config_test.go:523:3                                                   testifylint  go-require: do not use require in http handlers
migrations/inputs_httpjson/migration_test.go:116:6                            testifylint  go-require: do not use require in http handlers
plugins/common/cookie/cookie_test.go:64:5                                     testifylint  go-require: do not use require in http handlers
plugins/common/cookie/cookie_test.go:91:5                                     testifylint  go-require: do not use require in http handlers
plugins/common/proxy/socks5_test.go:35:14                                     testifylint  go-require: require must only be used in the goroutine running the test function
plugins/common/shim/goshim_test.go:54:3                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/common/shim/input_test.go:51:3                                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/common/shim/input_test.go:78:3                                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/common/shim/output_test.go:32:3                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/common/shim/processor_test.go:51:3                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/common/shim/processor_test.go:92:3                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/activemq/activemq_test.go:153:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/activemq/activemq_test.go:157:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/activemq/activemq_test.go:161:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/apache/apache_test.go:36:3                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/apcupsd/apcupsd_test.go:47:5                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/apcupsd/apcupsd_test.go:51:5                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/apcupsd/apcupsd_test.go:55:5                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/apcupsd/apcupsd_test.go:62:6                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/aurora/aurora_test.go:251:5                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/aurora/aurora_test.go:252:5                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/aurora/aurora_test.go:255:5                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:32:4                                         testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:36:3                                         testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:38:3                                         testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:176:4                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:180:3                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:181:3                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:182:3                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:183:3                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:184:3                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/beat/beat_test.go:187:3                                        testifylint  go-require: do not use require in http handlers
plugins/inputs/chrony/chrony_test.go:746:5                                    testifylint  go-require: s.serve contains assertions that must only be used in the goroutine running the test function
plugins/inputs/clickhouse/clickhouse_test.go:77:5                             testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:94:5                             testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:111:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:128:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:139:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:150:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:161:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:174:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:185:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:200:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:215:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:232:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:261:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:272:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:301:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:454:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:465:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:476:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:512:4                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:523:4                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:548:4                            testifylint  go-require: do not use require in http handlers
plugins/inputs/clickhouse/clickhouse_test.go:634:5                            testifylint  go-require: do not use require in http handlers
plugins/inputs/consul_agent/consul_agent_test.go:79:6                         testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:40:3                   testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:84:5                   testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:122:3                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:127:3                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:133:3                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:140:4                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:142:4                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:146:5                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:149:5                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:152:5                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:156:5                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ctrlx_datalayer/ctrlx_datalayer_test.go:159:4                  testifylint  go-require: do not use require in http handlers
plugins/inputs/dovecot/dovecot_test.go:62:3                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/dovecot/dovecot_test.go:65:3                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/dovecot/dovecot_test.go:71:3                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/dovecot/dovecot_test.go:76:3                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/dovecot/dovecot_test.go:80:3                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_connector_test.go:99:6                               testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:151:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:200:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:226:7                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:245:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:258:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:278:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:279:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/dpdk/dpdk_test.go:306:6                                        testifylint  go-require: simulateSocketResponse contains assertions that must only be used in the goroutine running the test function
plugins/inputs/execd/shim/shim_posix_test.go:40:5                             testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/execd/shim/shim_test.go:77:3                                   testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/fibaro/fibaro_test.go:45:4                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:49:4                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:53:4                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:58:3                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:161:4                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:165:4                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:169:4                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/fibaro/fibaro_test.go:174:3                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/fireboard/fireboard_test.go:21:3                               testifylint  go-require: do not use require in http handlers
plugins/inputs/fluentd/fluentd_test.go:175:3                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/gnmi/gnmi_test.go:99:3                                         testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/gnmi/gnmi_test.go:158:3                                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/gnmi/gnmi_test.go:1015:5                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/gnmi/gnmi_test.go:1067:3                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/gnmi/gnmi_test.go:1099:3                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/gnmi/gnmi_test.go:1203:5                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/google_cloud_storage/google_cloud_storage_test.go:208:4        testifylint  go-require: do not use require in http handlers
plugins/inputs/google_cloud_storage/google_cloud_storage_test.go:212:4        testifylint  go-require: do not use require in http handlers
plugins/inputs/google_cloud_storage/google_cloud_storage_test.go:269:5        testifylint  go-require: do not use require in http handlers
plugins/inputs/google_cloud_storage/google_cloud_storage_test.go:318:5        testifylint  go-require: do not use require in http handlers
plugins/inputs/haproxy/haproxy_test.go:50:4                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/haproxy/haproxy_test.go:56:4                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/haproxy/haproxy_test.go:60:4                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/haproxy/haproxy_test.go:97:3                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/haproxy/haproxy_test.go:218:3                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/hddtemp/go-hddtemp/hddtemp_test.go:83:3                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/hddtemp/go-hddtemp/hddtemp_test.go:86:3                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/hddtemp/go-hddtemp/hddtemp_test.go:87:3                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/http_response/http_response_test.go:182:3                      testifylint  go-require: do not use require in http handlers
plugins/inputs/http_response/http_response_test.go:183:3                      testifylint  go-require: do not use require in http handlers
plugins/inputs/http_response/http_response_test.go:184:3                      testifylint  go-require: do not use require in http handlers
plugins/inputs/http_response/http_response_test.go:1124:3                     testifylint  go-require: do not use require in http handlers
plugins/inputs/http_response/http_response_test.go:1167:3                     testifylint  go-require: do not use require in http handlers
plugins/inputs/http_response/http_response_test.go:1344:3                     testifylint  go-require: do not use require in http handlers
plugins/inputs/icinga2/icinga2_test.go:73:4                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/icinga2/icinga2_test.go:136:4                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/icinga2/icinga2_test.go:195:4                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/icinga2/icinga2_test.go:265:4                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:22:4                                 testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:73:4                                 testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:145:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:185:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:220:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:239:4                                testifylint  go-require: do not use require in http handlers
plugins/inputs/influxdb/influxdb_test.go:258:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/intel_dlb/intel_dlb_test.go:428:6                              testifylint  go-require: simulateSocketResponseForGather contains assertions that must only be used in the goroutine running the test function
plugins/inputs/jolokia2_agent/jolokia2_agent_test.go:631:3                    testifylint  go-require: do not use require in http handlers
plugins/inputs/jolokia2_proxy/jolokia2_proxy_test.go:88:3                     testifylint  go-require: do not use require in http handlers
plugins/inputs/jolokia2_proxy/jolokia2_proxy_test.go:91:3                     testifylint  go-require: do not use require in http handlers
plugins/inputs/kafka_consumer/kafka_consumer_test.go:354:3                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/kafka_consumer/kafka_consumer_test.go:355:3                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/kapacitor/kapacitor_test.go:83:3                               testifylint  go-require: do not use require in http handlers
plugins/inputs/kapacitor/kapacitor_test.go:102:4                              testifylint  go-require: do not use require in http handlers
plugins/inputs/kubernetes/kubernetes_test.go:19:4                             testifylint  go-require: do not use require in http handlers
plugins/inputs/kubernetes/kubernetes_test.go:24:4                             testifylint  go-require: do not use require in http handlers
plugins/inputs/logstash/logstash_test.go:32:3                                 testifylint  go-require: do not use require in http handlers
plugins/inputs/logstash/logstash_test.go:77:3                                 testifylint  go-require: do not use require in http handlers
plugins/inputs/logstash/logstash_test.go:123:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/logstash/logstash_test.go:221:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/logstash/logstash_test.go:563:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/logstash/logstash_test.go:627:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/mailchimp/mailchimp_test.go:21:5                               testifylint  go-require: do not use require in http handlers
plugins/inputs/mailchimp/mailchimp_test.go:86:5                               testifylint  go-require: do not use require in http handlers
plugins/inputs/mailchimp/mailchimp_test.go:152:5                              testifylint  go-require: do not use require in http handlers
plugins/inputs/marklogic/marklogic_test.go:20:3                               testifylint  go-require: do not use require in http handlers
plugins/inputs/monit/monit_test.go:594:3                                      testifylint  go-require: do not use require in http handlers
plugins/inputs/monit/monit_test.go:621:3                                      testifylint  go-require: do not use require in http handlers
plugins/inputs/nats/nats_test.go:74:3                                         testifylint  go-require: do not use require in http handlers
plugins/inputs/nats/nats_test.go:78:3                                         testifylint  go-require: do not use require in http handlers
plugins/inputs/neptune_apex/neptune_apex_test.go:21:3                         testifylint  go-require: do not use require in http handlers
plugins/inputs/neptune_apex/neptune_apex_test.go:413:5                        testifylint  go-require: do not use require in http handlers
plugins/inputs/net_response/net_response_test.go:109:5                        testifylint  go-require: TCPServer contains assertions that must only be used in the goroutine running the test function
plugins/inputs/net_response/net_response_test.go:154:5                        testifylint  go-require: TCPServer contains assertions that must only be used in the goroutine running the test function
plugins/inputs/net_response/net_response_test.go:236:5                        testifylint  go-require: UDPServer contains assertions that must only be used in the goroutine running the test function
plugins/inputs/nginx/nginx_test.go:49:4                                       testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx/nginx_test.go:53:3                                       testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_plus/nginx_plus_test.go:256:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_plus/nginx_plus_test.go:262:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_plus_api/nginx_plus_api_metrics_test.go:1500:3           testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_plus_api/nginx_plus_api_metrics_test.go:1557:3           testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_plus_api/nginx_plus_api_metrics_test.go:1561:3           testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_sts/nginx_sts_test.go:170:3                              testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_sts/nginx_sts_test.go:176:3                              testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:49:3         testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:55:3         testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:106:3        testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:112:3        testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:114:3        testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:115:3        testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:116:3        testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_upstream_check/nginx_upstream_check_test.go:117:3        testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_vts/nginx_vts_test.go:207:3                              testifylint  go-require: do not use require in http handlers
plugins/inputs/nginx_vts/nginx_vts_test.go:213:3                              testifylint  go-require: do not use require in http handlers
plugins/inputs/nomad/nomad_test.go:86:6                                       testifylint  go-require: do not use require in http handlers
plugins/inputs/nsq/nsq_test.go:19:3                                           testifylint  go-require: do not use require in http handlers
plugins/inputs/nsq/nsq_test.go:276:3                                          testifylint  go-require: do not use require in http handlers
plugins/inputs/phpfpm/fcgi_test.go:247:4                                      testifylint  go-require: do not use require in http handlers
plugins/inputs/phpfpm/phpfpm_test.go:45:3                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/phpfpm/phpfpm_test.go:49:3                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/phpfpm/phpfpm_test.go:92:3                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:57:3                             testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:87:4                             testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:90:4                             testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:93:4                             testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:143:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:177:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:213:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:240:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:272:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:301:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:331:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:353:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:373:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:407:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:476:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:502:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:601:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/prometheus/prometheus_test.go:642:3                            testifylint  go-require: do not use require in http handlers
plugins/inputs/rabbitmq/rabbitmq_test.go:41:3                                 testifylint  go-require: do not use require in http handlers
plugins/inputs/rabbitmq/rabbitmq_test.go:44:3                                 testifylint  go-require: do not use require in http handlers
plugins/inputs/rabbitmq/rabbitmq_test.go:252:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/rabbitmq/rabbitmq_test.go:255:3                                testifylint  go-require: do not use require in http handlers
plugins/inputs/radius/radius_test.go:53:5                                     testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/radius/radius_test.go:121:5                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/raindrops/raindrops_test.go:52:3                               testifylint  go-require: do not use require in http handlers
plugins/inputs/raindrops/raindrops_test.go:56:3                               testifylint  go-require: do not use require in http handlers
plugins/inputs/ravendb/ravendb_test.go:30:4                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/ravendb/ravendb_test.go:34:3                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/ravendb/ravendb_test.go:37:3                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/ravendb/ravendb_test.go:230:4                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ravendb/ravendb_test.go:234:3                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/ravendb/ravendb_test.go:237:3                                  testifylint  go-require: do not use require in http handlers
plugins/inputs/riak/riak_test.go:20:3                                         testifylint  go-require: do not use require in http handlers
plugins/inputs/statsd/statsd_test.go:206:5                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/statsd/statsd_test.go:243:5                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/statsd/statsd_test.go:280:5                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/tacacs/tacacs_test.go:149:3                                    testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/teamspeak/teamspeak_test.go:64:5                               testifylint  go-require: handleRequest contains assertions that must only be used in the goroutine running the test function
plugins/inputs/tengine/tengine_test.go:32:3                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/tomcat/tomcat_test.go:45:3                                     testifylint  go-require: do not use require in http handlers
plugins/inputs/tomcat/tomcat_test.go:130:3                                    testifylint  go-require: do not use require in http handlers
plugins/inputs/vault/vault_test.go:81:6                                       testifylint  go-require: do not use require in http handlers
plugins/inputs/vault/vault_test.go:83:6                                       testifylint  go-require: do not use require in http handlers
plugins/inputs/x509_cert/x509_cert_test.go:92:5                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/x509_cert/x509_cert_test.go:103:5                              testifylint  go-require: require must only be used in the goroutine running the test function
plugins/inputs/xtremio/xtremio_test.go:85:6                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/xtremio/xtremio_test.go:88:6                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/xtremio/xtremio_test.go:91:6                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/xtremio/xtremio_test.go:94:6                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/xtremio/xtremio_test.go:97:6                                   testifylint  go-require: do not use require in http handlers
plugins/inputs/xtremio/xtremio_test.go:159:5                                  testifylint  go-require: do not use require in http handlers
plugins/outputs/bigquery/bigquery_test.go:270:4                               testifylint  go-require: do not use require in http handlers
plugins/outputs/bigquery/bigquery_test.go:274:4                               testifylint  go-require: do not use require in http handlers
plugins/outputs/bigquery/bigquery_test.go:278:4                               testifylint  go-require: do not use require in http handlers
plugins/outputs/bigquery/bigquery_test.go:282:4                               testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:29:3                              testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:54:3                              testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:78:3                              testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:135:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:150:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:220:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:223:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:224:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:225:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:226:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:227:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:228:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:229:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:232:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:266:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:273:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:307:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:311:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:312:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:313:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:314:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:315:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:316:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:317:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:320:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:354:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:357:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:358:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:359:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:361:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:395:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:398:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:399:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:400:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:401:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:402:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:404:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:438:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:441:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:442:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:443:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:444:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:445:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:447:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:481:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:484:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:485:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:486:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:487:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/dynatrace/dynatrace_test.go:489:3                             testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:660:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:661:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:663:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:667:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:695:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:697:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:701:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:729:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:731:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/elasticsearch/elasticsearch_test.go:735:4                     testifylint  go-require: do not use require in http handlers
plugins/outputs/file/file_test.go:268:3                                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:86:3                                testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:87:3                                testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:88:3                                testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:170:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:171:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:172:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:703:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:704:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:705:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:718:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:720:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:721:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:722:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:735:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:736:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:737:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:750:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:752:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:753:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:754:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:767:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:768:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:769:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:782:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:784:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:785:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:786:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:799:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:800:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:801:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:814:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:816:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:817:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graphite/graphite_test.go:818:3                               testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graylog/graylog_test_linux.go:194:3                           testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graylog/graylog_test_linux.go:195:3                           testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graylog/graylog_test_linux.go:196:3                           testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/graylog/graylog_test_linux.go:197:3                           testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/groundwork/groundwork_test.go:33:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:38:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:41:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:42:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:43:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:44:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:45:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:46:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:47:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:50:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:85:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:90:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:93:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:94:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:95:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:96:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:97:3                            testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:100:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:146:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:151:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:154:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:155:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:156:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:157:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:158:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:159:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:160:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:161:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:162:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:163:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:164:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:165:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:166:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/groundwork/groundwork_test.go:169:3                           testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:111:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:319:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:368:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:374:6                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:378:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:379:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:435:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:436:5                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/http/http_test.go:663:4                                       testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:584:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:587:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:589:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:591:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:711:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:712:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:715:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:716:5                                   testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:1028:6                                  testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:1101:6                                  testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb/http_test.go:1111:6                                  testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:73:5                                 testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:74:5                                 testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:77:5                                 testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:78:5                                 testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:133:5                                testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:134:5                                testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:137:5                                testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:138:5                                testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:191:5                                testifylint  go-require: do not use require in http handlers
plugins/outputs/influxdb_v2/http_test.go:194:5                                testifylint  go-require: do not use require in http handlers
plugins/outputs/instrumental/instrumental_test.go:92:3                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:97:3                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:99:3                        testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:101:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:104:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:106:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:110:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:115:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:117:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:119:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:122:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:125:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:128:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:131:3                       testifylint  go-require: require must only be used in the goroutine running the test function
plugins/outputs/instrumental/instrumental_test.go:134:3                       testifylint  go-require: require must only be used in the goroutine running the test function
...
and more, total: 557 findings

Additional configuration

For this checker, additional configuration can be provided:

    go-require:
      # To ignore HTTP handlers (like http.HandlerFunc).
      # Default: false
      ignore-http-handlers: true
srebhan commented 1 month ago

Yeah we should enable this as the findings show how likely it is that you misuse FailNow or in turn require.<whatever> in goroutines.

powersj commented 1 month ago

+1