# Test that the error message for a syntax error in a test go file
# says FAIL.

env GO111MODULE=off
! go test syntaxerror
stderr 'x_test.go:' # check that the error is diagnosed
stdout 'FAIL' # check that go test says FAIL

env GO111MODULE=on
cd syntaxerror
! go test syntaxerror
stderr 'x_test.go:' # check that the error is diagnosed
stdout 'FAIL' # check that go test says FAIL

-- syntaxerror/go.mod --
module syntaxerror

go 1.16
-- syntaxerror/x.go --
package p
-- syntaxerror/x_test.go --
package p

func f() (x.y, z int) {
}
