diff --git a/tools/http2_interop/testsuite.go b/tools/http2_interop/testsuite.go
new file mode 100644
index 0000000..fcfacf5
--- /dev/null
+++ b/tools/http2_interop/testsuite.go
@@ -0,0 +1,44 @@
+package http2interop
+
+import (
+	"runtime"
+	"strings"
+	"sync"
+	"testing"
+)
+
+// When a test is skipped or fails, runtime.Goexit() is called which destroys the callstack.
+// This means the name of the test case is lost, so we need to grab a copy of pc before.
+func Report(t testing.TB) func() {
+	pc, _, _, ok := runtime.Caller(1)
+	if !ok {
+		t.Fatal("Can't get caller info")
+	}
+	return func() {
+		fn := runtime.FuncForPC(pc)
+		fullName := fn.Name()
+		name := strings.Split(fullName, ".")[1]
+		allCaseInfos.lock.Lock()
+		defer allCaseInfos.lock.Unlock()
+		allCaseInfos.Cases = append(allCaseInfos.Cases, &caseInfo{
+			Name:    name,
+			Passed:  !t.Failed(),
+			Skipped: t.Skipped(),
+		})
+	}
+}
+
+type caseInfo struct {
+	Name    string `json:"name"`
+	Passed  bool   `json:"passed"`
+	Skipped bool   `json:"skipped"`
+}
+
+type caseInfos struct {
+	lock  sync.Mutex
+	Cases []*caseInfo `json:"cases"`
+}
+
+var (
+	allCaseInfos = caseInfos{}
+)
