FWIW, I didn’t find a clean way to change existing go tools to output test list, so not going to propose anything:
go test --list would be mutually exclusive with almost all existing go test flags except -run and -bench, whereas -run wouldn’t not be accurate anymore (nothing is actually run)
go list -f "{{ join .Tests '\n' }}" would be inconsistent because besides tests there would be no top-level functions, types, variables, etc. Adding them is probably outside of the go list scope which is supposed to deal with package-level concepts.
go doc is supposed to print comments and a program would have to parse them and discard. Adding flag to go doc to not print comments would be odd.
oracle reports info about a selection in a file, not file as a whole.
Right, so you can use some shell fu like I showed above – it isn’t perfect, if you try hard, you can fool it, but for the general case, where you’re not trying to stab yourself in the foot, it should work just fine, today, and doesn’t clock in at 3mb.