Example #1
0
// matching returns true if a file matches the checksum, false otherwise
func (f *File) matching(fs testfs.FileSystem) bool {
	if f.sum == nil || len(f.sum) == 0 {
		return false
	}
	_, err := fs.Stat(f.path)
	if err != nil {
		return false
	}
	file, err := fs.OpenFile(f.path, os.O_RDONLY, 0)
	if err != nil {
		return false
	}
	data, err := ioutil.ReadAll(file)
	if err != nil {
		return false
	}

	if bytes.Compare(f.sum, data) == 0 {
		return true
	}

	return false
}