Skip to content

Commit cfb8d0f

Browse files
committedApr 27, 2020
fix(types): Fix GetDependencies func that returns duplicate items
The iterator loop reuses item pointer which leads to duplicate of the same dependencies while other dependencies are missing out. Signed-off-by: Vu Dinh <[email protected]>
1 parent a25687c commit cfb8d0f

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed
 

‎bundles/prometheus.0.22.2/metadata/dependencies.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,7 @@ dependencies:
22
- type: olm.package
33
packageName: testoperator
44
version: "> 0.2.0"
5+
- type: olm.gvk
6+
group: testprometheus.coreos.com
7+
kind: testtestprometheus
8+
version: v1

‎pkg/registry/populator_test.go

+8
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,10 @@ func TestQuerierForDependencies(t *testing.T) {
428428
Type: "olm.gvk",
429429
Value: `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}`,
430430
},
431+
{
432+
Type: "olm.gvk",
433+
Value: `{"group":"testprometheus.coreos.com","kind":"testtestprometheus","type":"olm.gvk","version":"v1"}`,
434+
},
431435
}
432436

433437
type operatorbundle struct {
@@ -484,6 +488,10 @@ func TestListBundles(t *testing.T) {
484488
Type: "olm.gvk",
485489
Value: `{"group":"etcd.database.coreos.com","kind":"EtcdCluster","type":"olm.gvk","version":"v1beta2"}`,
486490
},
491+
{
492+
Type: "olm.gvk",
493+
Value: `{"group":"testprometheus.coreos.com","kind":"testtestprometheus","type":"olm.gvk","version":"v1"}`,
494+
},
487495
}
488496

489497
dependencies := []*api.Dependency{}

‎pkg/registry/types.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,8 @@ func (pd *PackageDependency) Validate() []error {
196196
func (d *DependenciesFile) GetDependencies() []*Dependency {
197197
var dependencies []*Dependency
198198
for _, item := range d.Dependencies {
199-
dependencies = append(dependencies, &item)
199+
dep := item
200+
dependencies = append(dependencies, &dep)
200201
}
201202
return dependencies
202203
}

0 commit comments

Comments
 (0)
Please sign in to comment.