# Test that when there's a build failure and a -run flag that doesn't match,
# that the error for not matching tests does not override the error for
# the build failure.

! go test -run ThisWillNotMatch syntaxerror
! stderr '(?m)^ok.*\[no tests to run\]'
stdout 'FAIL'

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

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