Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
zak-pawel opened this issue Jun 20, 2024 · 2 comments
Open

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

zak-pawel opened this issue Jun 20, 2024 · 2 comments
Labels

Comments

@zak-pawel
Copy link
Collaborator

Description

This issue starts a discussion about enabling:

  • linter: testifylint - Checks usage of github.com/stretchr/testify.
  • checker: go-require - Incorrect use of functions.

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
Copy link
Contributor

srebhan commented Jun 24, 2024

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

@srebhan srebhan removed their assignment Jun 24, 2024
@powersj
Copy link
Contributor

powersj commented Jun 25, 2024

+1

@powersj powersj removed their assignment Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 participants