1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 18:15:42 +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" "net/url"
"path/filepath" "path/filepath"
"regexp" "regexp"
"slices"
"sort" "sort"
"strconv" "strconv"
"strings" "strings"
@ -1115,6 +1116,8 @@ func (p *processor) checkMissing(string) error {
for _, f := range files { for _, f := range files {
v := p.alreadyChecked[f] v := p.alreadyChecked[f]
var where []string var where []string
// mistake contains which requirements are broken
var mistake []string
for mask := rolieMask; mask <= listingMask; mask <<= 1 { for mask := rolieMask; mask <= listingMask; mask <<= 1 {
if maxMask&mask == mask { if maxMask&mask == mask {
var in string var in string
@ -1122,11 +1125,27 @@ func (p *processor) checkMissing(string) error {
in = "in" in = "in"
} else { } else {
in = "not in" in = "not in"
// Which file is missing entries?
mistake = append(mistake, mask.String())
} }
where = append(where, in+" "+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 return nil
} }