Gemäß der Dokumentation zu testing.T müssen die Methoden FailNow, Fatal, Fatalf, SkipNow, Skip und Skipf von derselben Goroutine aufgerufen werden, die den Test ausführt. Diese Anforderung wird durch verschiedene Tests in der Standardbibliothek verletzt.
Das Folgende ist eine Liste aller Goroutinen, die in Tests erzeugt wurden, die T.FailNow aufrufen. Die Liste wurde aus Revision 2f49726 generiert.
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 hast du ein Tool verwendet, um diese zu finden?
@cespare Die Ausgabe stammt von einer laufenden Prüfung für staticcheck (https://github.com/dominikh/go-staticcheck/commit/7f04f979d02ed28ee02203a81c34595b84f249bc)
CL https://golang.org/cl/33243 erwähnt dieses Problem.
Hilfreichster Kommentar
@cespare Die Ausgabe stammt von einer laufenden Prüfung für staticcheck (https://github.com/dominikh/go-staticcheck/commit/7f04f979d02ed28ee02203a81c34595b84f249bc)