Going from a passing test to a failing test in a subdir is a regression

-- foo/p_test.go --
package p

import "testing"

func TestP(t *testing.T) {
}

-- .commit --
Initial commit with passing test

-- foo/p_test.go --
package p

import "testing"

func TestP(t *testing.T) {
	t.FailNow()
}

-- .commit --
Break test

-- .run_test --
Test regressions detected between initial commit (8c6c71d0beac5e27b87dfc3f2fd9d274b62c3d3a) and HEAD:

1: sketch.dev/foo.TestP: Was passing, now failing


Please fix before proceeding.
