in pkg/repo/validate.go [120:142]
func validateFile(r *Repo, prrDir, filename string) error {
kepFile, err := os.Open(filename)
if err != nil {
return &fatalValidationError{Err: errors.Wrapf(err, "could not open file %s", filename)}
}
defer kepFile.Close()
logrus.Infof("parsing %s", filename)
kepHandler, prrHandler := r.KEPHandler, r.PRRHandler
kep, kepParseErr := kepHandler.Parse(kepFile)
if kepParseErr != nil {
return errors.Wrap(kepParseErr, "parsing KEP file")
}
kep.Filename = filename
// TODO: This shouldn't be required once we push the errors into the
// parser struct
if kep.Error != nil {
return &fatalValidationError{Err: errors.Wrapf(kep.Error, "%v has an error", filename)}
}
return kepval.ValidatePRR(kep, prrHandler, prrDir)
}