! go test -json .

	# We should see only JSON output on stdout, no non-JSON.
	# To simplify the check, we just look for non-curly-braces, since
	# every JSON entry has them and they're unlikely to occur
	# in other error messages.
! stdout '^[^{]'
! stdout '[^}]\n$'

	# Since the only test we requested failed to build, we should
	# not see any "pass" actions in the JSON stream.
! stdout '\{.*"Action":"pass".*\}'

	# TODO(#62067): emit this as a build event instead of a test event.
stdout '\{.*"Action":"output","Package":"example","Output":"FAIL\\texample \[build failed\]\\n"\}'
stdout '\{.*"Action":"fail","Package":"example",.*\}'

-- go.mod --
module example
go 1.19
-- example.go --
package example

This is not valid Go source.
-- example_test.go --
package  example

func Test(*testing.T) {}
