1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 11:55:40 +01:00

Sort missing files into errors

This commit is contained in:
JanHoefelmeyer 2023-08-23 11:40:37 +02:00
parent 7d3c3a68df
commit 7651dc2a05

View file

@ -24,6 +24,7 @@ import (
"net/url"
"path/filepath"
"regexp"
"slices"
"sort"
"strconv"
"strings"
@ -1115,6 +1116,8 @@ func (p *processor) checkMissing(string) error {
for _, f := range files {
v := p.alreadyChecked[f]
var where []string
// mistake contains which requirements are broken
var mistake []string
for mask := rolieMask; mask <= listingMask; mask <<= 1 {
if maxMask&mask == mask {
var in string
@ -1122,11 +1125,27 @@ func (p *processor) checkMissing(string) error {
in = "in"
} else {
in = "not in"
// Which file is missing entries?
mistake = append(mistake, mask.String())
}
where = append(where, in+" "+mask.String())
}
}
p.badIntegrities.error("%s %s", f, strings.Join(where, ", "))
// List error in all appropriate categories
if slices.Contains(mistake, "ROLIE") {
p.badROLIEFeed.error("%s %s", f, strings.Join(where, ", "))
}
if slices.Contains(mistake, "index.txt") {
p.badIndices.error("%s %s", f, strings.Join(where, ", "))
}
if slices.Contains(mistake, "changes.csv") {
p.badChanges.error("%s %s", f, strings.Join(where, ", "))
}
if slices.Contains(mistake, "directory listing") {
p.badDirListings.error("%s %s", f, strings.Join(where, ", "))
}
// reset mistake
mistake = nil
}
return nil
}