Skip to content

Commit 719c518

Browse files
committed
api/nfd: use varargs in the NewInstanceFeatures helper
Make usage of this helper function more flexible.
1 parent 81bdf1d commit 719c518

File tree

6 files changed

+15
-20
lines changed

6 files changed

+15
-20
lines changed

api/nfd/v1alpha1/feature.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func NewAttributeFeatures(values map[string]string) AttributeFeatureSet {
5454
}
5555

5656
// NewInstanceFeatures creates a new instance of InstanceFeatureSet.
57-
func NewInstanceFeatures(instances []InstanceFeature) InstanceFeatureSet {
57+
func NewInstanceFeatures(instances ...InstanceFeature) InstanceFeatureSet {
5858
return InstanceFeatureSet{Elements: instances}
5959
}
6060

api/nfd/v1alpha1/feature_test.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,22 +84,20 @@ func TestInstanceFeatureSet(t *testing.T) {
8484
f2.MergeInto(&f1)
8585
assert.Equal(t, expectedElems, f1.Elements)
8686

87-
f2 = NewInstanceFeatures([]InstanceFeature{})
87+
f2 = NewInstanceFeatures()
8888
expectedElems = []InstanceFeature{}
8989
f2.MergeInto(&f1)
9090
assert.Equal(t, expectedElems, f1.Elements)
9191

92-
f2 = NewInstanceFeatures([]InstanceFeature{InstanceFeature{}})
92+
f2 = NewInstanceFeatures(InstanceFeature{})
9393
expectedElems = append(expectedElems, InstanceFeature{})
9494
f2.MergeInto(&f1)
9595
assert.Equal(t, expectedElems, f1.Elements)
9696

97-
f2 = NewInstanceFeatures([]InstanceFeature{
98-
InstanceFeature{
99-
Attributes: map[string]string{
100-
"a1": "v1",
101-
"a2": "v2",
102-
},
97+
f2 = NewInstanceFeatures(InstanceFeature{
98+
Attributes: map[string]string{
99+
"a1": "v1",
100+
"a2": "v2",
103101
},
104102
})
105103
expectedElems = append(expectedElems, *NewInstanceFeature(map[string]string{"a1": "v1", "a2": "v2"}))
@@ -139,18 +137,16 @@ func TestFeature(t *testing.T) {
139137
f2 = *NewFeatures()
140138
f2.Flags["dom.flag"] = NewFlagFeatures("k1", "k2")
141139
f2.Attributes["dom.attr"] = NewAttributeFeatures(map[string]string{"k1": "v1", "k2": "v2"})
142-
f2.Instances["dom.inst"] = NewInstanceFeatures([]InstanceFeature{
140+
f2.Instances["dom.inst"] = NewInstanceFeatures(
143141
*NewInstanceFeature(map[string]string{"a1": "v1.1", "a2": "v1.2"}),
144142
*NewInstanceFeature(map[string]string{"a1": "v2.1", "a2": "v2.2"}),
145-
})
143+
)
146144
f2.MergeInto(&f)
147145
assert.Equal(t, f2, f)
148146

149147
f2.Flags["dom.flag"] = NewFlagFeatures("k3")
150148
f2.Attributes["dom.attr"] = NewAttributeFeatures(map[string]string{"k1": "v1.override"})
151-
f2.Instances["dom.inst"] = NewInstanceFeatures([]InstanceFeature{
152-
*NewInstanceFeature(map[string]string{"a1": "v3.1", "a3": "v3.3"}),
153-
})
149+
f2.Instances["dom.inst"] = NewInstanceFeatures(*NewInstanceFeature(map[string]string{"a1": "v3.1", "a3": "v3.3"}))
154150
f2.MergeInto(&f)
155151
expectedFeatures = *NewFeatures()
156152
expectedFeatures.Flags["dom.flag"] = FlagFeatureSet{Elements: map[string]Nil{"k1": Nil{}, "k2": Nil{}, "k3": Nil{}}}

pkg/apis/nfd/nodefeaturerule/rule_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func TestRule(t *testing.T) {
7070
// Test empty feature sets
7171
f.Flags["domain-1.kf-1"] = nfdv1alpha1.NewFlagFeatures()
7272
f.Attributes["domain-1.vf-1"] = nfdv1alpha1.NewAttributeFeatures(nil)
73-
f.Instances["domain-1.if-1"] = nfdv1alpha1.NewInstanceFeatures(nil)
73+
f.Instances["domain-1.if-1"] = nfdv1alpha1.NewInstanceFeatures()
7474

7575
m, err = Execute(r1, f)
7676
assert.Nilf(t, err, "unexpected error: %v", err)
@@ -83,8 +83,7 @@ func TestRule(t *testing.T) {
8383
// Test non-empty feature sets
8484
f.Flags["domain-1.kf-1"].Elements["key-x"] = nfdv1alpha1.Nil{}
8585
f.Attributes["domain-1.vf-1"].Elements["key-1"] = "val-x"
86-
f.Instances["domain-1.if-1"] = nfdv1alpha1.NewInstanceFeatures([]nfdv1alpha1.InstanceFeature{
87-
*nfdv1alpha1.NewInstanceFeature(map[string]string{"attr-1": "val-x"})})
86+
f.Instances["domain-1.if-1"] = nfdv1alpha1.NewInstanceFeatures(*nfdv1alpha1.NewInstanceFeature(map[string]string{"attr-1": "val-x"}))
8887

8988
m, err = Execute(r1, f)
9089
assert.Nilf(t, err, "unexpected error: %v", err)

source/fake/fake.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func (s *fakeSource) Discover() error {
126126
for i, instanceAttributes := range s.config.InstanceFeatures {
127127
instances[i] = *nfdv1alpha1.NewInstanceFeature(instanceAttributes)
128128
}
129-
s.features.Instances[InstanceFeature] = nfdv1alpha1.NewInstanceFeatures(instances)
129+
s.features.Instances[InstanceFeature] = nfdv1alpha1.NewInstanceFeatures(instances...)
130130

131131
klog.V(3).InfoS("discovered features", "featureSource", s.Name(), "features", utils.DelayedDumper(s.features))
132132

source/pci/pci.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ func (s *pciSource) Discover() error {
143143
if err != nil {
144144
return fmt.Errorf("failed to detect PCI devices: %s", err.Error())
145145
}
146-
s.features.Instances[DeviceFeature] = nfdv1alpha1.NewInstanceFeatures(devs)
146+
s.features.Instances[DeviceFeature] = nfdv1alpha1.NewInstanceFeatures(devs...)
147147

148148
klog.V(3).InfoS("discovered features", "featureSource", s.Name(), "features", utils.DelayedDumper(s.features))
149149

source/usb/usb.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func (s *usbSource) Discover() error {
142142
if err != nil {
143143
return fmt.Errorf("failed to detect USB devices: %s", err.Error())
144144
}
145-
s.features.Instances[DeviceFeature] = nfdv1alpha1.NewInstanceFeatures(devs)
145+
s.features.Instances[DeviceFeature] = nfdv1alpha1.NewInstanceFeatures(devs...)
146146

147147
klog.V(3).InfoS("discovered features", "featureSource", s.Name(), "features", utils.DelayedDumper(s.features))
148148

0 commit comments

Comments
 (0)