There's rules about what a TestFoo may do with the *testing.T it is given. Some are documented (e.g. https://golang.org/pkg/testing/#T puts restrictions on invoking Fatalf and friends), but some are not (e.g. Logf and probably most other methods should not be called after TestFoo returns). Same applies to *testing.B and any future such values/types.
I came across this while trying to diagnose a problem that seems to be due to #40908, but realised I couldn't find the rules written down anywhere.
There's rules about what a
TestFoomay do with the*testing.Tit is given. Some are documented (e.g. https://golang.org/pkg/testing/#T puts restrictions on invokingFatalfand friends), but some are not (e.g.Logfand probably most other methods should not be called afterTestFooreturns). Same applies to*testing.Band any future such values/types.I came across this while trying to diagnose a problem that seems to be due to #40908, but realised I couldn't find the rules written down anywhere.