وفقًا لوثائق الاختبار ، يجب استدعاء الطرق FailNow و Fatal و Fatalf و SkipNow و Skip و Skipf من نفس goroutine الذي يجري الاختبار. تم انتهاك هذا الشرط من خلال الاختبارات المختلفة في المكتبة القياسية.
فيما يلي قائمة بجميع goroutines التي تم إنتاجها في الاختبارات التي تستدعي T.FailNow. تم إنشاء القائمة من المراجعة 2f49726.
src/runtime/chan_test.go:209:3
src/runtime/chan_test.go:306:4
src/runtime/chan_test.go:306:4
src/net/http/serve_test.go:2476:2
src/net/http/serve_test.go:2629:2
src/net/http/serve_test.go:2670:2
src/runtime/trace/trace_stack_test.go:85:2
src/runtime/trace/trace_test.go:256:2
src/runtime/trace/trace_test.go:256:2
src/runtime/trace/trace_test.go:256:2
src/database/sql/sql_test.go:2514:2
src/net/rpc/server_test.go:690:3
src/log/syslog/syslog_test.go:368:3
src/crypto/tls/handshake_server_test.go:201:2
src/crypto/tls/tls_test.go:294:2
src/crypto/tls/tls_test.go:294:2
src/sync/cond_test.go:135:2
src/sync/cond_test.go:162:2
src/sync/pool_test.go:121:3
src/net/dnsclient_unix_test.go:667:2
src/net/dnsclient_unix_test.go:667:2
src/net/dnsclient_unix_test.go:667:2
src/net/dnsclient_unix_test.go:667:2
src/sync/atomic/atomic_test.go:1216:3
src/sync/atomic/atomic_test.go:1216:3
src/sync/atomic/atomic_test.go:1259:3
src/sync/atomic/atomic_test.go:1259:3
src/sync/atomic/atomic_test.go:1305:3
src/sync/atomic/atomic_test.go:1353:3
src/os/exec/exec_test.go:431:2
dominikh هل استخدمت أداة للعثور على هذه؟
cespare الإخراج من عمل قيد التقدم للتحقق من staticcheck (https://github.com/dominikh/go-staticcheck/commit/7f04f979d02ed28ee02203a81c34595b84f249bc)
يذكر CL https://golang.org/cl/33243 هذه المشكلة.
التعليق الأكثر فائدة
cespare الإخراج من عمل قيد التقدم للتحقق من staticcheck (https://github.com/dominikh/go-staticcheck/commit/7f04f979d02ed28ee02203a81c34595b84f249bc)