mirror of
https://github.com/anchore/syft
synced 2024-11-10 06:14:16 +00:00
fix: reset merged package into map; (#1258)
This commit is contained in:
parent
780e1c310c
commit
fa0b3c0438
2 changed files with 6 additions and 2 deletions
|
@ -110,6 +110,7 @@ func (c *Catalog) Add(p Package) {
|
|||
if err := existing.merge(p); err != nil {
|
||||
log.Warnf("failed to merge packages: %+v", err)
|
||||
} else {
|
||||
c.byID[id] = existing
|
||||
c.addPathsToIndex(p)
|
||||
}
|
||||
return
|
||||
|
|
|
@ -70,9 +70,7 @@ func TestCatalogAddPopulatesIndex(t *testing.T) {
|
|||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
c := NewCatalog(pkgs...)
|
||||
|
||||
assertIndexes(t, c, test.expectedIndexes)
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -178,11 +176,13 @@ func TestCatalog_MergeRecords(t *testing.T) {
|
|||
name string
|
||||
pkgs []Package
|
||||
expectedLocations []source.Location
|
||||
expectedCPECount int
|
||||
}{
|
||||
{
|
||||
name: "multiple Locations with shared path",
|
||||
pkgs: []Package{
|
||||
{
|
||||
CPEs: []CPE{MustCPE("cpe:2.3:a:package:1:1:*:*:*:*:*:*:*")},
|
||||
Locations: source.NewLocationSet(
|
||||
source.Location{
|
||||
Coordinates: source.Coordinates{
|
||||
|
@ -195,6 +195,7 @@ func TestCatalog_MergeRecords(t *testing.T) {
|
|||
Type: RpmPkg,
|
||||
},
|
||||
{
|
||||
CPEs: []CPE{MustCPE("cpe:2.3:b:package:1:1:*:*:*:*:*:*:*")},
|
||||
Locations: source.NewLocationSet(
|
||||
source.Location{
|
||||
Coordinates: source.Coordinates{
|
||||
|
@ -223,6 +224,7 @@ func TestCatalog_MergeRecords(t *testing.T) {
|
|||
VirtualPath: "/another/path",
|
||||
},
|
||||
},
|
||||
expectedCPECount: 2,
|
||||
},
|
||||
}
|
||||
|
||||
|
@ -231,6 +233,7 @@ func TestCatalog_MergeRecords(t *testing.T) {
|
|||
actual := NewCatalog(tt.pkgs...).PackagesByPath("/b/path")
|
||||
require.Len(t, actual, 1)
|
||||
assert.Equal(t, tt.expectedLocations, actual[0].Locations.ToSlice())
|
||||
require.Len(t, actual[0].CPEs, tt.expectedCPECount)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue