type Node … var tree … func walkTree(n *Node, path string, f func(path string, n *Node)) { … } func makeTree() FS { … } // Assumes that each node name is unique. Good enough for a test. // If clear is true, any incoming error is cleared before return. The errors // are always accumulated, though. func mark(entry DirEntry, err error, errors *[]error, clear bool) error { … } func TestWalkDir(t *testing.T) { … } func TestIssue51617(t *testing.T) { … }