This file is indexed.

/usr/share/gocode/src/bazil.org/fuse/fs/fstestutil/checkdir.go is in golang-bazil-fuse-dev 0.0~git20160811.0.371fbbd-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package fstestutil

import (
	"fmt"
	"io/ioutil"
	"os"
)

// FileInfoCheck is a function that validates an os.FileInfo according
// to some criteria.
type FileInfoCheck func(fi os.FileInfo) error

type checkDirError struct {
	missing map[string]struct{}
	extra   map[string]os.FileMode
}

func (e *checkDirError) Error() string {
	return fmt.Sprintf("wrong directory contents: missing %v, extra %v", e.missing, e.extra)
}

// CheckDir checks the contents of the directory at path, making sure
// every directory entry listed in want is present. If the check is
// not nil, it must also pass.
//
// If want contains the impossible filename "", unexpected files are
// checked with that. If the key is not in want, unexpected files are
// an error.
//
// Missing entries, that are listed in want but not seen, are an
// error.
func CheckDir(path string, want map[string]FileInfoCheck) error {
	problems := &checkDirError{
		missing: make(map[string]struct{}, len(want)),
		extra:   make(map[string]os.FileMode),
	}
	for k := range want {
		if k == "" {
			continue
		}
		problems.missing[k] = struct{}{}
	}

	fis, err := ioutil.ReadDir(path)
	if err != nil {
		return fmt.Errorf("cannot read directory: %v", err)
	}

	for _, fi := range fis {
		check, ok := want[fi.Name()]
		if !ok {
			check, ok = want[""]
		}
		if !ok {
			problems.extra[fi.Name()] = fi.Mode()
			continue
		}
		delete(problems.missing, fi.Name())
		if check != nil {
			if err := check(fi); err != nil {
				return fmt.Errorf("check failed: %v: %v", fi.Name(), err)
			}
		}
	}

	if len(problems.missing) > 0 || len(problems.extra) > 0 {
		return problems
	}
	return nil
}