diff --git a/go.mod b/go.mod index 6db5ee20c..8faf1c04e 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/k8snetworkplumbingwg/sriov-network-device-plugin -go 1.20 +go 1.21 require ( github.com/Mellanox/rdmamap v1.1.0 diff --git a/go.sum b/go.sum index 32a377127..99d7cc4dc 100644 --- a/go.sum +++ b/go.sum @@ -76,6 +76,7 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -99,6 +100,7 @@ github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/ github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= @@ -168,6 +170,7 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -208,6 +211,7 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= @@ -235,6 +239,7 @@ github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1ls github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4= +github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= @@ -257,6 +262,7 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= @@ -266,6 +272,7 @@ github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic github.com/spf13/afero v1.9.4 h1:Sd43wM1IWz/s1aVXdOBkjJvuP8UdyqioeE4AmM0QsBs= github.com/spf13/afero v1.9.4/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= @@ -536,6 +543,7 @@ golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= +golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/pkg/cdi/mocks/CDI.go b/pkg/cdi/mocks/CDI.go index db9b00f73..ae7390e48 100644 --- a/pkg/cdi/mocks/CDI.go +++ b/pkg/cdi/mocks/CDI.go @@ -1,11 +1,10 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( - mock "github.com/stretchr/testify/mock" - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" + mock "github.com/stretchr/testify/mock" ) // CDI is an autogenerated mock type for the CDI type @@ -17,6 +16,10 @@ type CDI struct { func (_m *CDI) CleanupSpecs() error { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for CleanupSpecs") + } + var r0 error if rf, ok := ret.Get(0).(func() error); ok { r0 = rf() @@ -31,6 +34,10 @@ func (_m *CDI) CleanupSpecs() error { func (_m *CDI) CreateCDISpecForPool(resourcePrefix string, rPool types.ResourcePool) error { ret := _m.Called(resourcePrefix, rPool) + if len(ret) == 0 { + panic("no return value specified for CreateCDISpecForPool") + } + var r0 error if rf, ok := ret.Get(0).(func(string, types.ResourcePool) error); ok { r0 = rf(resourcePrefix, rPool) @@ -45,6 +52,10 @@ func (_m *CDI) CreateCDISpecForPool(resourcePrefix string, rPool types.ResourceP func (_m *CDI) CreateContainerAnnotations(devicesIDs []string, resourcePrefix string, resourceKind string) (map[string]string, error) { ret := _m.Called(devicesIDs, resourcePrefix, resourceKind) + if len(ret) == 0 { + panic("no return value specified for CreateContainerAnnotations") + } + var r0 map[string]string var r1 error if rf, ok := ret.Get(0).(func([]string, string, string) (map[string]string, error)); ok { diff --git a/pkg/devices/devices_test.go b/pkg/devices/devices_test.go index 7a756a66f..ca57f27f9 100644 --- a/pkg/devices/devices_test.go +++ b/pkg/devices/devices_test.go @@ -132,6 +132,9 @@ var _ = Describe("Devices", func() { testMockProvider. On("GetIPv4RouteList", mock.AnythingOfType("string")). Return([]nl.Route{{Dst: nil}}, nil) + testMockProvider. + On("DevlinkGetDeviceInfoByNameAsMap", mock.AnythingOfType("string"), mock.AnythingOfType("string")). + Return(map[string]string{"someKey": "someValue"}, nil) utils.SetNetlinkProviderInst(&testMockProvider) pciAddr := "0000:00:00.1" diff --git a/pkg/types/mocks/APIDevice.go b/pkg/types/mocks/APIDevice.go index b3ce754ac..91dc20b7f 100644 --- a/pkg/types/mocks/APIDevice.go +++ b/pkg/types/mocks/APIDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // APIDevice is an autogenerated mock type for the APIDevice type @@ -18,6 +17,10 @@ type APIDevice struct { func (_m *APIDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -34,6 +37,10 @@ func (_m *APIDevice) GetAPIDevice() *v1beta1.Device { func (_m *APIDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -50,6 +57,10 @@ func (_m *APIDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *APIDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -66,6 +77,10 @@ func (_m *APIDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *APIDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() diff --git a/pkg/types/mocks/AccelDevice.go b/pkg/types/mocks/AccelDevice.go index 3eddfbbe9..f5cd4bf1f 100644 --- a/pkg/types/mocks/AccelDevice.go +++ b/pkg/types/mocks/AccelDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // AccelDevice is an autogenerated mock type for the AccelDevice type @@ -18,6 +17,10 @@ type AccelDevice struct { func (_m *AccelDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -34,6 +37,10 @@ func (_m *AccelDevice) GetAPIDevice() *v1beta1.Device { func (_m *AccelDevice) GetAcpiIndex() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAcpiIndex") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -48,6 +55,10 @@ func (_m *AccelDevice) GetAcpiIndex() string { func (_m *AccelDevice) GetDeviceCode() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceCode") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -62,6 +73,10 @@ func (_m *AccelDevice) GetDeviceCode() string { func (_m *AccelDevice) GetDeviceID() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceID") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -76,6 +91,10 @@ func (_m *AccelDevice) GetDeviceID() string { func (_m *AccelDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -92,6 +111,10 @@ func (_m *AccelDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *AccelDevice) GetDriver() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDriver") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -106,6 +129,10 @@ func (_m *AccelDevice) GetDriver() string { func (_m *AccelDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -122,6 +149,10 @@ func (_m *AccelDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *AccelDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -138,6 +169,10 @@ func (_m *AccelDevice) GetMounts() []*v1beta1.Mount { func (_m *AccelDevice) GetPciAddr() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPciAddr") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -152,6 +187,10 @@ func (_m *AccelDevice) GetPciAddr() string { func (_m *AccelDevice) GetVendor() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVendor") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() diff --git a/pkg/types/mocks/AuxNetDevice.go b/pkg/types/mocks/AuxNetDevice.go index 047eb630b..62aa1eff5 100644 --- a/pkg/types/mocks/AuxNetDevice.go +++ b/pkg/types/mocks/AuxNetDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // AuxNetDevice is an autogenerated mock type for the AuxNetDevice type @@ -18,6 +17,10 @@ type AuxNetDevice struct { func (_m *AuxNetDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -30,24 +33,14 @@ func (_m *AuxNetDevice) GetAPIDevice() *v1beta1.Device { return r0 } -// GetAcpiIndex provides a mock function with given fields: -func (_m *AuxNetDevice) GetAcpiIndex() string { - ret := _m.Called() - - var r0 string - if rf, ok := ret.Get(0).(func() string); ok { - r0 = rf() - } else { - r0 = ret.Get(0).(string) - } - - return r0 -} - // GetAuxType provides a mock function with given fields: func (_m *AuxNetDevice) GetAuxType() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAuxType") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -62,6 +55,10 @@ func (_m *AuxNetDevice) GetAuxType() string { func (_m *AuxNetDevice) GetDeviceCode() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceCode") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -76,6 +73,10 @@ func (_m *AuxNetDevice) GetDeviceCode() string { func (_m *AuxNetDevice) GetDeviceID() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceID") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -90,6 +91,10 @@ func (_m *AuxNetDevice) GetDeviceID() string { func (_m *AuxNetDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -106,6 +111,10 @@ func (_m *AuxNetDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *AuxNetDevice) GetDriver() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDriver") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -120,6 +129,10 @@ func (_m *AuxNetDevice) GetDriver() string { func (_m *AuxNetDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -136,6 +149,10 @@ func (_m *AuxNetDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *AuxNetDevice) GetFuncID() int { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetFuncID") + } + var r0 int if rf, ok := ret.Get(0).(func() int); ok { r0 = rf() @@ -150,6 +167,10 @@ func (_m *AuxNetDevice) GetFuncID() int { func (_m *AuxNetDevice) GetLinkSpeed() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetLinkSpeed") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -164,6 +185,10 @@ func (_m *AuxNetDevice) GetLinkSpeed() string { func (_m *AuxNetDevice) GetLinkType() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetLinkType") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -178,6 +203,10 @@ func (_m *AuxNetDevice) GetLinkType() string { func (_m *AuxNetDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -194,6 +223,10 @@ func (_m *AuxNetDevice) GetMounts() []*v1beta1.Mount { func (_m *AuxNetDevice) GetNetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetNetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -208,6 +241,10 @@ func (_m *AuxNetDevice) GetNetName() string { func (_m *AuxNetDevice) GetPfNetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPfNetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -222,6 +259,10 @@ func (_m *AuxNetDevice) GetPfNetName() string { func (_m *AuxNetDevice) GetPfPciAddr() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPfPciAddr") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -236,6 +277,10 @@ func (_m *AuxNetDevice) GetPfPciAddr() string { func (_m *AuxNetDevice) GetVendor() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVendor") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -250,6 +295,10 @@ func (_m *AuxNetDevice) GetVendor() string { func (_m *AuxNetDevice) IsRdma() bool { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for IsRdma") + } + var r0 bool if rf, ok := ret.Get(0).(func() bool); ok { r0 = rf() diff --git a/pkg/types/mocks/DeviceInfoProvider.go b/pkg/types/mocks/DeviceInfoProvider.go index 6a19bbffe..080473a2d 100644 --- a/pkg/types/mocks/DeviceInfoProvider.go +++ b/pkg/types/mocks/DeviceInfoProvider.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // DeviceInfoProvider is an autogenerated mock type for the DeviceInfoProvider type @@ -18,6 +17,10 @@ type DeviceInfoProvider struct { func (_m *DeviceInfoProvider) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -34,6 +37,10 @@ func (_m *DeviceInfoProvider) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *DeviceInfoProvider) GetEnvVal() types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 types.AdditionalInfo if rf, ok := ret.Get(0).(func() types.AdditionalInfo); ok { r0 = rf() @@ -50,6 +57,10 @@ func (_m *DeviceInfoProvider) GetEnvVal() types.AdditionalInfo { func (_m *DeviceInfoProvider) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -66,6 +77,10 @@ func (_m *DeviceInfoProvider) GetMounts() []*v1beta1.Mount { func (_m *DeviceInfoProvider) GetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() diff --git a/pkg/types/mocks/DeviceProvider.go b/pkg/types/mocks/DeviceProvider.go index cae86cae0..d462da7f6 100644 --- a/pkg/types/mocks/DeviceProvider.go +++ b/pkg/types/mocks/DeviceProvider.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -18,6 +18,10 @@ type DeviceProvider struct { func (_m *DeviceProvider) AddTargetDevices(_a0 []*pci.Device, _a1 int) error { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for AddTargetDevices") + } + var r0 error if rf, ok := ret.Get(0).(func([]*pci.Device, int) error); ok { r0 = rf(_a0, _a1) @@ -32,6 +36,10 @@ func (_m *DeviceProvider) AddTargetDevices(_a0 []*pci.Device, _a1 int) error { func (_m *DeviceProvider) GetDevices(_a0 *types.ResourceConfig, _a1 int) []types.HostDevice { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for GetDevices") + } + var r0 []types.HostDevice if rf, ok := ret.Get(0).(func(*types.ResourceConfig, int) []types.HostDevice); ok { r0 = rf(_a0, _a1) @@ -48,6 +56,10 @@ func (_m *DeviceProvider) GetDevices(_a0 *types.ResourceConfig, _a1 int) []types func (_m *DeviceProvider) GetDiscoveredDevices() []*pci.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDiscoveredDevices") + } + var r0 []*pci.Device if rf, ok := ret.Get(0).(func() []*pci.Device); ok { r0 = rf() @@ -64,6 +76,10 @@ func (_m *DeviceProvider) GetDiscoveredDevices() []*pci.Device { func (_m *DeviceProvider) GetFilteredDevices(_a0 []types.HostDevice, _a1 *types.ResourceConfig, _a2 int) ([]types.HostDevice, error) { ret := _m.Called(_a0, _a1, _a2) + if len(ret) == 0 { + panic("no return value specified for GetFilteredDevices") + } + var r0 []types.HostDevice var r1 error if rf, ok := ret.Get(0).(func([]types.HostDevice, *types.ResourceConfig, int) ([]types.HostDevice, error)); ok { @@ -90,6 +106,10 @@ func (_m *DeviceProvider) GetFilteredDevices(_a0 []types.HostDevice, _a1 *types. func (_m *DeviceProvider) ValidConfig(_a0 *types.ResourceConfig) bool { ret := _m.Called(_a0) + if len(ret) == 0 { + panic("no return value specified for ValidConfig") + } + var r0 bool if rf, ok := ret.Get(0).(func(*types.ResourceConfig) bool); ok { r0 = rf(_a0) diff --git a/pkg/types/mocks/DeviceSelector.go b/pkg/types/mocks/DeviceSelector.go index 6fd474aec..df55a92b4 100644 --- a/pkg/types/mocks/DeviceSelector.go +++ b/pkg/types/mocks/DeviceSelector.go @@ -1,11 +1,10 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( - mock "github.com/stretchr/testify/mock" - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" + mock "github.com/stretchr/testify/mock" ) // DeviceSelector is an autogenerated mock type for the DeviceSelector type @@ -17,6 +16,10 @@ type DeviceSelector struct { func (_m *DeviceSelector) Filter(_a0 []types.HostDevice) []types.HostDevice { ret := _m.Called(_a0) + if len(ret) == 0 { + panic("no return value specified for Filter") + } + var r0 []types.HostDevice if rf, ok := ret.Get(0).(func([]types.HostDevice) []types.HostDevice); ok { r0 = rf(_a0) diff --git a/pkg/types/mocks/HostDevice.go b/pkg/types/mocks/HostDevice.go index cbbe6fc77..e29fa3634 100644 --- a/pkg/types/mocks/HostDevice.go +++ b/pkg/types/mocks/HostDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // HostDevice is an autogenerated mock type for the HostDevice type @@ -18,6 +17,10 @@ type HostDevice struct { func (_m *HostDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -30,24 +33,14 @@ func (_m *HostDevice) GetAPIDevice() *v1beta1.Device { return r0 } -// GetAcpiIndex provides a mock function with given fields: -func (_m *HostDevice) GetAcpiIndex() string { - ret := _m.Called() - - var r0 string - if rf, ok := ret.Get(0).(func() string); ok { - r0 = rf() - } else { - r0 = ret.Get(0).(string) - } - - return r0 -} - // GetDeviceCode provides a mock function with given fields: func (_m *HostDevice) GetDeviceCode() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceCode") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -62,6 +55,10 @@ func (_m *HostDevice) GetDeviceCode() string { func (_m *HostDevice) GetDeviceID() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceID") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -76,6 +73,10 @@ func (_m *HostDevice) GetDeviceID() string { func (_m *HostDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -92,6 +93,10 @@ func (_m *HostDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *HostDevice) GetDriver() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDriver") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -106,6 +111,10 @@ func (_m *HostDevice) GetDriver() string { func (_m *HostDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -122,6 +131,10 @@ func (_m *HostDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *HostDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -138,6 +151,10 @@ func (_m *HostDevice) GetMounts() []*v1beta1.Mount { func (_m *HostDevice) GetVendor() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVendor") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() diff --git a/pkg/types/mocks/LinkWatcher.go b/pkg/types/mocks/LinkWatcher.go index a0f43c69c..ae32c6feb 100644 --- a/pkg/types/mocks/LinkWatcher.go +++ b/pkg/types/mocks/LinkWatcher.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks diff --git a/pkg/types/mocks/NadUtils.go b/pkg/types/mocks/NadUtils.go index 8a04c7857..967e417ea 100644 --- a/pkg/types/mocks/NadUtils.go +++ b/pkg/types/mocks/NadUtils.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -17,6 +17,10 @@ type NadUtils struct { func (_m *NadUtils) CleanDeviceInfoFile(resourceName string, deviceID string) error { ret := _m.Called(resourceName, deviceID) + if len(ret) == 0 { + panic("no return value specified for CleanDeviceInfoFile") + } + var r0 error if rf, ok := ret.Get(0).(func(string, string) error); ok { r0 = rf(resourceName, deviceID) @@ -31,6 +35,10 @@ func (_m *NadUtils) CleanDeviceInfoFile(resourceName string, deviceID string) er func (_m *NadUtils) SaveDeviceInfoFile(resourceName string, deviceID string, devInfo *v1.DeviceInfo) error { ret := _m.Called(resourceName, deviceID, devInfo) + if len(ret) == 0 { + panic("no return value specified for SaveDeviceInfoFile") + } + var r0 error if rf, ok := ret.Get(0).(func(string, string, *v1.DeviceInfo) error); ok { r0 = rf(resourceName, deviceID, devInfo) diff --git a/pkg/types/mocks/NetDevice.go b/pkg/types/mocks/NetDevice.go index 5bdd48026..09ae9c9ec 100644 --- a/pkg/types/mocks/NetDevice.go +++ b/pkg/types/mocks/NetDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // NetDevice is an autogenerated mock type for the NetDevice type @@ -18,6 +17,10 @@ type NetDevice struct { func (_m *NetDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -30,24 +33,14 @@ func (_m *NetDevice) GetAPIDevice() *v1beta1.Device { return r0 } -// GetAcpiIndex provides a mock function with given fields: -func (_m *NetDevice) GetAcpiIndex() string { - ret := _m.Called() - - var r0 string - if rf, ok := ret.Get(0).(func() string); ok { - r0 = rf() - } else { - r0 = ret.Get(0).(string) - } - - return r0 -} - // GetDeviceCode provides a mock function with given fields: func (_m *NetDevice) GetDeviceCode() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceCode") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -62,6 +55,10 @@ func (_m *NetDevice) GetDeviceCode() string { func (_m *NetDevice) GetDeviceID() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceID") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -76,6 +73,10 @@ func (_m *NetDevice) GetDeviceID() string { func (_m *NetDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -92,6 +93,10 @@ func (_m *NetDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *NetDevice) GetDriver() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDriver") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -106,6 +111,10 @@ func (_m *NetDevice) GetDriver() string { func (_m *NetDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -122,6 +131,10 @@ func (_m *NetDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *NetDevice) GetFuncID() int { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetFuncID") + } + var r0 int if rf, ok := ret.Get(0).(func() int); ok { r0 = rf() @@ -136,6 +149,10 @@ func (_m *NetDevice) GetFuncID() int { func (_m *NetDevice) GetLinkSpeed() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetLinkSpeed") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -150,6 +167,10 @@ func (_m *NetDevice) GetLinkSpeed() string { func (_m *NetDevice) GetLinkType() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetLinkType") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -164,6 +185,10 @@ func (_m *NetDevice) GetLinkType() string { func (_m *NetDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -180,6 +205,10 @@ func (_m *NetDevice) GetMounts() []*v1beta1.Mount { func (_m *NetDevice) GetNetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetNetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -194,6 +223,10 @@ func (_m *NetDevice) GetNetName() string { func (_m *NetDevice) GetPfNetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPfNetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -208,6 +241,10 @@ func (_m *NetDevice) GetPfNetName() string { func (_m *NetDevice) GetPfPciAddr() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPfPciAddr") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -222,6 +259,10 @@ func (_m *NetDevice) GetPfPciAddr() string { func (_m *NetDevice) GetVendor() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVendor") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -236,6 +277,10 @@ func (_m *NetDevice) GetVendor() string { func (_m *NetDevice) IsRdma() bool { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for IsRdma") + } + var r0 bool if rf, ok := ret.Get(0).(func() bool); ok { r0 = rf() diff --git a/pkg/types/mocks/PciDevice.go b/pkg/types/mocks/PciDevice.go index 9b6546c96..b84902f92 100644 --- a/pkg/types/mocks/PciDevice.go +++ b/pkg/types/mocks/PciDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // PciDevice is an autogenerated mock type for the PciDevice type @@ -18,6 +17,10 @@ type PciDevice struct { func (_m *PciDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -34,6 +37,10 @@ func (_m *PciDevice) GetAPIDevice() *v1beta1.Device { func (_m *PciDevice) GetAcpiIndex() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAcpiIndex") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -48,6 +55,10 @@ func (_m *PciDevice) GetAcpiIndex() string { func (_m *PciDevice) GetDeviceCode() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceCode") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -62,6 +73,10 @@ func (_m *PciDevice) GetDeviceCode() string { func (_m *PciDevice) GetDeviceID() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceID") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -76,6 +91,10 @@ func (_m *PciDevice) GetDeviceID() string { func (_m *PciDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -92,6 +111,10 @@ func (_m *PciDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *PciDevice) GetDriver() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDriver") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -106,6 +129,10 @@ func (_m *PciDevice) GetDriver() string { func (_m *PciDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -122,6 +149,10 @@ func (_m *PciDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *PciDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -138,6 +169,10 @@ func (_m *PciDevice) GetMounts() []*v1beta1.Mount { func (_m *PciDevice) GetPciAddr() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPciAddr") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -152,6 +187,10 @@ func (_m *PciDevice) GetPciAddr() string { func (_m *PciDevice) GetVendor() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVendor") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() diff --git a/pkg/types/mocks/PciNetDevice.go b/pkg/types/mocks/PciNetDevice.go index e17fe7267..493f064e2 100644 --- a/pkg/types/mocks/PciNetDevice.go +++ b/pkg/types/mocks/PciNetDevice.go @@ -1,12 +1,11 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( + types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" mock "github.com/stretchr/testify/mock" v1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1" - - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" ) // PciNetDevice is an autogenerated mock type for the PciNetDevice type @@ -18,6 +17,10 @@ type PciNetDevice struct { func (_m *PciNetDevice) GetAPIDevice() *v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAPIDevice") + } + var r0 *v1beta1.Device if rf, ok := ret.Get(0).(func() *v1beta1.Device); ok { r0 = rf() @@ -34,6 +37,10 @@ func (_m *PciNetDevice) GetAPIDevice() *v1beta1.Device { func (_m *PciNetDevice) GetAcpiIndex() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetAcpiIndex") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -48,6 +55,10 @@ func (_m *PciNetDevice) GetAcpiIndex() string { func (_m *PciNetDevice) GetDDPProfiles() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDDPProfiles") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -62,6 +73,10 @@ func (_m *PciNetDevice) GetDDPProfiles() string { func (_m *PciNetDevice) GetDeviceCode() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceCode") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -76,6 +91,10 @@ func (_m *PciNetDevice) GetDeviceCode() string { func (_m *PciNetDevice) GetDeviceID() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceID") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -90,6 +109,10 @@ func (_m *PciNetDevice) GetDeviceID() string { func (_m *PciNetDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -106,6 +129,10 @@ func (_m *PciNetDevice) GetDeviceSpecs() []*v1beta1.DeviceSpec { func (_m *PciNetDevice) GetDriver() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDriver") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -120,6 +147,10 @@ func (_m *PciNetDevice) GetDriver() string { func (_m *PciNetDevice) GetEnvVal() map[string]types.AdditionalInfo { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetEnvVal") + } + var r0 map[string]types.AdditionalInfo if rf, ok := ret.Get(0).(func() map[string]types.AdditionalInfo); ok { r0 = rf() @@ -136,6 +167,10 @@ func (_m *PciNetDevice) GetEnvVal() map[string]types.AdditionalInfo { func (_m *PciNetDevice) GetFuncID() int { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetFuncID") + } + var r0 int if rf, ok := ret.Get(0).(func() int); ok { r0 = rf() @@ -150,6 +185,10 @@ func (_m *PciNetDevice) GetFuncID() int { func (_m *PciNetDevice) GetLinkSpeed() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetLinkSpeed") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -164,6 +203,10 @@ func (_m *PciNetDevice) GetLinkSpeed() string { func (_m *PciNetDevice) GetLinkType() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetLinkType") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -178,6 +221,10 @@ func (_m *PciNetDevice) GetLinkType() string { func (_m *PciNetDevice) GetMounts() []*v1beta1.Mount { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func() []*v1beta1.Mount); ok { r0 = rf() @@ -194,6 +241,10 @@ func (_m *PciNetDevice) GetMounts() []*v1beta1.Mount { func (_m *PciNetDevice) GetNetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetNetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -208,6 +259,10 @@ func (_m *PciNetDevice) GetNetName() string { func (_m *PciNetDevice) GetPciAddr() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPciAddr") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -222,6 +277,10 @@ func (_m *PciNetDevice) GetPciAddr() string { func (_m *PciNetDevice) GetPfNetName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPfNetName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -236,6 +295,10 @@ func (_m *PciNetDevice) GetPfNetName() string { func (_m *PciNetDevice) GetPfPciAddr() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPfPciAddr") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -250,6 +313,10 @@ func (_m *PciNetDevice) GetPfPciAddr() string { func (_m *PciNetDevice) GetVdpaDevice() types.VdpaDevice { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVdpaDevice") + } + var r0 types.VdpaDevice if rf, ok := ret.Get(0).(func() types.VdpaDevice); ok { r0 = rf() @@ -266,6 +333,10 @@ func (_m *PciNetDevice) GetVdpaDevice() types.VdpaDevice { func (_m *PciNetDevice) GetVendor() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetVendor") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -280,6 +351,10 @@ func (_m *PciNetDevice) GetVendor() string { func (_m *PciNetDevice) IsRdma() bool { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for IsRdma") + } + var r0 bool if rf, ok := ret.Get(0).(func() bool); ok { r0 = rf() diff --git a/pkg/types/mocks/RdmaSpec.go b/pkg/types/mocks/RdmaSpec.go index 9e9b36050..79ca8175f 100644 --- a/pkg/types/mocks/RdmaSpec.go +++ b/pkg/types/mocks/RdmaSpec.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -17,6 +17,10 @@ type RdmaSpec struct { func (_m *RdmaSpec) GetRdmaDeviceSpec() []*v1beta1.DeviceSpec { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetRdmaDeviceSpec") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func() []*v1beta1.DeviceSpec); ok { r0 = rf() @@ -33,6 +37,10 @@ func (_m *RdmaSpec) GetRdmaDeviceSpec() []*v1beta1.DeviceSpec { func (_m *RdmaSpec) IsRdma() bool { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for IsRdma") + } + var r0 bool if rf, ok := ret.Get(0).(func() bool); ok { r0 = rf() diff --git a/pkg/types/mocks/ResourceFactory.go b/pkg/types/mocks/ResourceFactory.go index adae081d9..3f7f99f7f 100644 --- a/pkg/types/mocks/ResourceFactory.go +++ b/pkg/types/mocks/ResourceFactory.go @@ -1,11 +1,10 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( - mock "github.com/stretchr/testify/mock" - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" + mock "github.com/stretchr/testify/mock" ) // ResourceFactory is an autogenerated mock type for the ResourceFactory type @@ -17,6 +16,10 @@ type ResourceFactory struct { func (_m *ResourceFactory) FilterBySelector(_a0 string, _a1 []string, _a2 []types.HostDevice) []types.HostDevice { ret := _m.Called(_a0, _a1, _a2) + if len(ret) == 0 { + panic("no return value specified for FilterBySelector") + } + var r0 []types.HostDevice if rf, ok := ret.Get(0).(func(string, []string, []types.HostDevice) []types.HostDevice); ok { r0 = rf(_a0, _a1, _a2) @@ -33,6 +36,10 @@ func (_m *ResourceFactory) FilterBySelector(_a0 string, _a1 []string, _a2 []type func (_m *ResourceFactory) GetDefaultInfoProvider(_a0 string, _a1 string) []types.DeviceInfoProvider { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for GetDefaultInfoProvider") + } + var r0 []types.DeviceInfoProvider if rf, ok := ret.Get(0).(func(string, string) []types.DeviceInfoProvider); ok { r0 = rf(_a0, _a1) @@ -49,6 +56,10 @@ func (_m *ResourceFactory) GetDefaultInfoProvider(_a0 string, _a1 string) []type func (_m *ResourceFactory) GetDeviceFilter(_a0 *types.ResourceConfig) ([]interface{}, error) { ret := _m.Called(_a0) + if len(ret) == 0 { + panic("no return value specified for GetDeviceFilter") + } + var r0 []interface{} var r1 error if rf, ok := ret.Get(0).(func(*types.ResourceConfig) ([]interface{}, error)); ok { @@ -75,6 +86,10 @@ func (_m *ResourceFactory) GetDeviceFilter(_a0 *types.ResourceConfig) ([]interfa func (_m *ResourceFactory) GetDeviceProvider(_a0 types.DeviceType) types.DeviceProvider { ret := _m.Called(_a0) + if len(ret) == 0 { + panic("no return value specified for GetDeviceProvider") + } + var r0 types.DeviceProvider if rf, ok := ret.Get(0).(func(types.DeviceType) types.DeviceProvider); ok { r0 = rf(_a0) @@ -91,6 +106,10 @@ func (_m *ResourceFactory) GetDeviceProvider(_a0 types.DeviceType) types.DeviceP func (_m *ResourceFactory) GetNadUtils() types.NadUtils { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetNadUtils") + } + var r0 types.NadUtils if rf, ok := ret.Get(0).(func() types.NadUtils); ok { r0 = rf() @@ -107,6 +126,10 @@ func (_m *ResourceFactory) GetNadUtils() types.NadUtils { func (_m *ResourceFactory) GetRdmaSpec(_a0 types.DeviceType, _a1 string) types.RdmaSpec { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for GetRdmaSpec") + } + var r0 types.RdmaSpec if rf, ok := ret.Get(0).(func(types.DeviceType, string) types.RdmaSpec); ok { r0 = rf(_a0, _a1) @@ -123,6 +146,10 @@ func (_m *ResourceFactory) GetRdmaSpec(_a0 types.DeviceType, _a1 string) types.R func (_m *ResourceFactory) GetResourcePool(rc *types.ResourceConfig, deviceList []types.HostDevice) (types.ResourcePool, error) { ret := _m.Called(rc, deviceList) + if len(ret) == 0 { + panic("no return value specified for GetResourcePool") + } + var r0 types.ResourcePool var r1 error if rf, ok := ret.Get(0).(func(*types.ResourceConfig, []types.HostDevice) (types.ResourcePool, error)); ok { @@ -149,6 +176,10 @@ func (_m *ResourceFactory) GetResourcePool(rc *types.ResourceConfig, deviceList func (_m *ResourceFactory) GetResourceServer(_a0 types.ResourcePool) (types.ResourceServer, error) { ret := _m.Called(_a0) + if len(ret) == 0 { + panic("no return value specified for GetResourceServer") + } + var r0 types.ResourceServer var r1 error if rf, ok := ret.Get(0).(func(types.ResourcePool) (types.ResourceServer, error)); ok { @@ -175,6 +206,10 @@ func (_m *ResourceFactory) GetResourceServer(_a0 types.ResourcePool) (types.Reso func (_m *ResourceFactory) GetSelector(_a0 string, _a1 []string) (types.DeviceSelector, error) { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for GetSelector") + } + var r0 types.DeviceSelector var r1 error if rf, ok := ret.Get(0).(func(string, []string) (types.DeviceSelector, error)); ok { @@ -201,6 +236,10 @@ func (_m *ResourceFactory) GetSelector(_a0 string, _a1 []string) (types.DeviceSe func (_m *ResourceFactory) GetVdpaDevice(_a0 string) types.VdpaDevice { ret := _m.Called(_a0) + if len(ret) == 0 { + panic("no return value specified for GetVdpaDevice") + } + var r0 types.VdpaDevice if rf, ok := ret.Get(0).(func(string) types.VdpaDevice); ok { r0 = rf(_a0) diff --git a/pkg/types/mocks/ResourcePool.go b/pkg/types/mocks/ResourcePool.go index c931b2912..47a95c040 100644 --- a/pkg/types/mocks/ResourcePool.go +++ b/pkg/types/mocks/ResourcePool.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -17,6 +17,10 @@ type ResourcePool struct { func (_m *ResourcePool) CleanDeviceInfoFile(resourceNamePrefix string) error { ret := _m.Called(resourceNamePrefix) + if len(ret) == 0 { + panic("no return value specified for CleanDeviceInfoFile") + } + var r0 error if rf, ok := ret.Get(0).(func(string) error); ok { r0 = rf(resourceNamePrefix) @@ -31,6 +35,10 @@ func (_m *ResourcePool) CleanDeviceInfoFile(resourceNamePrefix string) error { func (_m *ResourcePool) GetCDIName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetCDIName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -45,6 +53,10 @@ func (_m *ResourcePool) GetCDIName() string { func (_m *ResourcePool) GetDeviceSpecs(deviceIDs []string) []*v1beta1.DeviceSpec { ret := _m.Called(deviceIDs) + if len(ret) == 0 { + panic("no return value specified for GetDeviceSpecs") + } + var r0 []*v1beta1.DeviceSpec if rf, ok := ret.Get(0).(func([]string) []*v1beta1.DeviceSpec); ok { r0 = rf(deviceIDs) @@ -61,6 +73,10 @@ func (_m *ResourcePool) GetDeviceSpecs(deviceIDs []string) []*v1beta1.DeviceSpec func (_m *ResourcePool) GetDevices() map[string]*v1beta1.Device { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetDevices") + } + var r0 map[string]*v1beta1.Device if rf, ok := ret.Get(0).(func() map[string]*v1beta1.Device); ok { r0 = rf() @@ -77,6 +93,10 @@ func (_m *ResourcePool) GetDevices() map[string]*v1beta1.Device { func (_m *ResourcePool) GetEnvs(prefix string, deviceIDs []string) (map[string]string, error) { ret := _m.Called(prefix, deviceIDs) + if len(ret) == 0 { + panic("no return value specified for GetEnvs") + } + var r0 map[string]string var r1 error if rf, ok := ret.Get(0).(func(string, []string) (map[string]string, error)); ok { @@ -103,6 +123,10 @@ func (_m *ResourcePool) GetEnvs(prefix string, deviceIDs []string) (map[string]s func (_m *ResourcePool) GetMounts(deviceIDs []string) []*v1beta1.Mount { ret := _m.Called(deviceIDs) + if len(ret) == 0 { + panic("no return value specified for GetMounts") + } + var r0 []*v1beta1.Mount if rf, ok := ret.Get(0).(func([]string) []*v1beta1.Mount); ok { r0 = rf(deviceIDs) @@ -119,6 +143,10 @@ func (_m *ResourcePool) GetMounts(deviceIDs []string) []*v1beta1.Mount { func (_m *ResourcePool) GetResourceName() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetResourceName") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -133,6 +161,10 @@ func (_m *ResourcePool) GetResourceName() string { func (_m *ResourcePool) GetResourcePrefix() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetResourcePrefix") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -147,6 +179,10 @@ func (_m *ResourcePool) GetResourcePrefix() string { func (_m *ResourcePool) Probe() bool { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for Probe") + } + var r0 bool if rf, ok := ret.Get(0).(func() bool); ok { r0 = rf() @@ -161,6 +197,10 @@ func (_m *ResourcePool) Probe() bool { func (_m *ResourcePool) StoreDeviceInfoFile(resourceNamePrefix string) error { ret := _m.Called(resourceNamePrefix) + if len(ret) == 0 { + panic("no return value specified for StoreDeviceInfoFile") + } + var r0 error if rf, ok := ret.Get(0).(func(string) error); ok { r0 = rf(resourceNamePrefix) diff --git a/pkg/types/mocks/ResourceServer.go b/pkg/types/mocks/ResourceServer.go index 9aa3ffe64..ba393c1a3 100644 --- a/pkg/types/mocks/ResourceServer.go +++ b/pkg/types/mocks/ResourceServer.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -19,6 +19,10 @@ type ResourceServer struct { func (_m *ResourceServer) Allocate(_a0 context.Context, _a1 *v1beta1.AllocateRequest) (*v1beta1.AllocateResponse, error) { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for Allocate") + } + var r0 *v1beta1.AllocateResponse var r1 error if rf, ok := ret.Get(0).(func(context.Context, *v1beta1.AllocateRequest) (*v1beta1.AllocateResponse, error)); ok { @@ -45,6 +49,10 @@ func (_m *ResourceServer) Allocate(_a0 context.Context, _a1 *v1beta1.AllocateReq func (_m *ResourceServer) GetDevicePluginOptions(_a0 context.Context, _a1 *v1beta1.Empty) (*v1beta1.DevicePluginOptions, error) { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for GetDevicePluginOptions") + } + var r0 *v1beta1.DevicePluginOptions var r1 error if rf, ok := ret.Get(0).(func(context.Context, *v1beta1.Empty) (*v1beta1.DevicePluginOptions, error)); ok { @@ -71,6 +79,10 @@ func (_m *ResourceServer) GetDevicePluginOptions(_a0 context.Context, _a1 *v1bet func (_m *ResourceServer) GetPreferredAllocation(_a0 context.Context, _a1 *v1beta1.PreferredAllocationRequest) (*v1beta1.PreferredAllocationResponse, error) { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for GetPreferredAllocation") + } + var r0 *v1beta1.PreferredAllocationResponse var r1 error if rf, ok := ret.Get(0).(func(context.Context, *v1beta1.PreferredAllocationRequest) (*v1beta1.PreferredAllocationResponse, error)); ok { @@ -97,6 +109,10 @@ func (_m *ResourceServer) GetPreferredAllocation(_a0 context.Context, _a1 *v1bet func (_m *ResourceServer) Init() error { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for Init") + } + var r0 error if rf, ok := ret.Get(0).(func() error); ok { r0 = rf() @@ -111,6 +127,10 @@ func (_m *ResourceServer) Init() error { func (_m *ResourceServer) ListAndWatch(_a0 *v1beta1.Empty, _a1 v1beta1.DevicePlugin_ListAndWatchServer) error { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for ListAndWatch") + } + var r0 error if rf, ok := ret.Get(0).(func(*v1beta1.Empty, v1beta1.DevicePlugin_ListAndWatchServer) error); ok { r0 = rf(_a0, _a1) @@ -125,6 +145,10 @@ func (_m *ResourceServer) ListAndWatch(_a0 *v1beta1.Empty, _a1 v1beta1.DevicePlu func (_m *ResourceServer) PreStartContainer(_a0 context.Context, _a1 *v1beta1.PreStartContainerRequest) (*v1beta1.PreStartContainerResponse, error) { ret := _m.Called(_a0, _a1) + if len(ret) == 0 { + panic("no return value specified for PreStartContainer") + } + var r0 *v1beta1.PreStartContainerResponse var r1 error if rf, ok := ret.Get(0).(func(context.Context, *v1beta1.PreStartContainerRequest) (*v1beta1.PreStartContainerResponse, error)); ok { @@ -151,6 +175,10 @@ func (_m *ResourceServer) PreStartContainer(_a0 context.Context, _a1 *v1beta1.Pr func (_m *ResourceServer) Start() error { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for Start") + } + var r0 error if rf, ok := ret.Get(0).(func() error); ok { r0 = rf() @@ -165,6 +193,10 @@ func (_m *ResourceServer) Start() error { func (_m *ResourceServer) Stop() error { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for Stop") + } + var r0 error if rf, ok := ret.Get(0).(func() error); ok { r0 = rf() diff --git a/pkg/types/mocks/VdpaDevice.go b/pkg/types/mocks/VdpaDevice.go index 1027c1492..fb36f2866 100644 --- a/pkg/types/mocks/VdpaDevice.go +++ b/pkg/types/mocks/VdpaDevice.go @@ -1,11 +1,10 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks import ( - mock "github.com/stretchr/testify/mock" - types "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/types" + mock "github.com/stretchr/testify/mock" ) // VdpaDevice is an autogenerated mock type for the VdpaDevice type @@ -17,6 +16,10 @@ type VdpaDevice struct { func (_m *VdpaDevice) GetParent() string { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetParent") + } + var r0 string if rf, ok := ret.Get(0).(func() string); ok { r0 = rf() @@ -31,6 +34,10 @@ func (_m *VdpaDevice) GetParent() string { func (_m *VdpaDevice) GetPath() (string, error) { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetPath") + } + var r0 string var r1 error if rf, ok := ret.Get(0).(func() (string, error)); ok { @@ -55,6 +62,10 @@ func (_m *VdpaDevice) GetPath() (string, error) { func (_m *VdpaDevice) GetType() types.VdpaType { ret := _m.Called() + if len(ret) == 0 { + panic("no return value specified for GetType") + } + var r0 types.VdpaType if rf, ok := ret.Get(0).(func() types.VdpaType); ok { r0 = rf() diff --git a/pkg/utils/ddp.go b/pkg/utils/ddp.go index 41d1928e0..c8a7064ad 100644 --- a/pkg/utils/ddp.go +++ b/pkg/utils/ddp.go @@ -3,31 +3,40 @@ package utils import ( "bytes" "encoding/json" + "errors" "fmt" "os/exec" "strings" - - "github.com/pkg/errors" ) -/* -Example output of DDP tool -$ ./ddptool -l -a -j -s 0000:02:00.0 -{ - "DDPInventory": { - "device": "1572", - "address": "0000:02:00.0", - "name": "enp2s0f0", - "display": "Intel(R) Ethernet Converged Network Adapter X710-4", - "DDPpackage": { - "track_id": "80000008", - "version": "1.0.3.0", - "name": "GTPv1-C/U IPv4/IPv6 payload" - } - } -} - -*/ +// import ( +// "bytes" +// "encoding/json" +// "fmt" +// "os/exec" +// "strings" + +// "github.com/pkg/errors" +// ) + +// /* +// Example output of DDP tool +// $ ./ddptool -l -a -j -s 0000:02:00.0 +// { +// "DDPInventory": { +// "device": "1572", +// "address": "0000:02:00.0", +// "name": "enp2s0f0", +// "display": "Intel(R) Ethernet Converged Network Adapter X710-4", +// "DDPpackage": { +// "track_id": "80000008", +// "version": "1.0.3.0", +// "name": "GTPv1-C/U IPv4/IPv6 payload" +// } +// } +// } + +// */ // DDPInfo is the toplevel container of DDPInventory type DDPInfo struct { diff --git a/pkg/utils/devlink.go b/pkg/utils/devlink.go deleted file mode 100644 index adf7701f1..000000000 --- a/pkg/utils/devlink.go +++ /dev/null @@ -1,74 +0,0 @@ -package utils - -import ( - "fmt" - - "github.com/pkg/errors" - "github.com/vishvananda/netlink" -) - -// NetlinkFunction is a type of function used by netlink to get data -type NetlinkFunction func(string, string) (map[string]string, error) - -const ( - // fwAppNameKey is a key to extract DDP name - fwAppNameKey = "fw.app.name" - pciBus = "pci" -) - -var ( - netlinkDevlinkGetDeviceInfoByNameAsMap = netlink.DevlinkGetDeviceInfoByNameAsMap -) - -// IsDevlinkDDPSupportedByDevice checks if DDP of device can be acquired with devlink info command -func IsDevlinkDDPSupportedByDevice(device string) bool { - if _, err := devlinkGetDeviceInfoByNameAndKey(device, fwAppNameKey); err != nil { - return false - } - - return true -} - -// DevlinkGetDDPProfiles returns DDP for selected device -func DevlinkGetDDPProfiles(device string) (string, error) { - return devlinkGetDeviceInfoByNameAndKey(device, fwAppNameKey) -} - -// DevlinkGetDeviceInfoByNameAndKeys returns values for selected keys in device info -func DevlinkGetDeviceInfoByNameAndKeys(device string, keys []string) (map[string]string, error) { - data, err := netlinkDevlinkGetDeviceInfoByNameAsMap(pciBus, device) - if err != nil { - return nil, err - } - - info := make(map[string]string) - - for _, key := range keys { - if value, exists := data[key]; exists { - info[key] = value - } else { - return nil, keyNotFoundError("DevlinkGetDeviceInfoByNameAndKeys", key) - } - } - - return info, nil -} - -// DevlinkGetDeviceInfoByNameAndKey returns values for selected key in device infol -func devlinkGetDeviceInfoByNameAndKey(device, key string) (string, error) { - keys := []string{key} - info, err := DevlinkGetDeviceInfoByNameAndKeys(device, keys) - if err != nil { - return "", err - } - - return info[key], nil -} - -// ErrKeyNotFound error when key is not found in the parsed response -var ErrKeyNotFound = errors.New("key could not be found") - -// KeyNotFoundError returns ErrKeyNotFound -func keyNotFoundError(function, key string) error { - return fmt.Errorf("%s - %w: %s", function, ErrKeyNotFound, key) -} diff --git a/pkg/utils/devlink_test.go b/pkg/utils/devlink_test.go deleted file mode 100644 index dfd0235de..000000000 --- a/pkg/utils/devlink_test.go +++ /dev/null @@ -1,71 +0,0 @@ -package utils - -import ( - . "github.com/onsi/ginkgo" - . "github.com/onsi/ginkgo/extensions/table" - . "github.com/onsi/gomega" - "github.com/pkg/errors" -) - -const ( - fakeFwAppName = "fakeFwAppName" -) - -var fakeNetlinkError error - -var _ = BeforeSuite(func() { - fakeNetlinkError = errors.New("Fake netlink error") -}) - -var _ = Describe("In the devlink related functions", func() { - DescribeTable("IsDevlinkDDPSupportedByDevice", - func(nf NetlinkFunction, device string, expectedValue bool) { - netlinkDevlinkGetDeviceInfoByNameAsMap = nf - result := IsDevlinkDDPSupportedByDevice(device) - Expect(result).To(Equal(expectedValue)) - }, - Entry("should return true", FakeNetlinkSuccess, "fakeDevice", true), - Entry("should return true", FakeNetlinkError, "fakeDevice", false), - ) - DescribeTable("DevlinkGetDDPProfiles", - func(nf NetlinkFunction, device, expectedValue string, errorValue func() error) { - netlinkDevlinkGetDeviceInfoByNameAsMap = nf - profile, err := DevlinkGetDDPProfiles(device) - if errorValue() != nil { - Expect(err).To(HaveOccurred()) - } else { - Expect(err).ToNot(HaveOccurred()) - } - Expect(profile).To(Equal(expectedValue)) - }, - Entry("should return fakeFwAppName and no error", FakeNetlinkSuccess, "fakeDevice", fakeFwAppName, func() error { return nil }), - Entry("should return empty string and error", FakeNetlinkError, "fakeDevice", "", getFakeNetlinkError), - ) - DescribeTable("DevlinkGetDeviceInfoByNameAndKeys", - func(nf NetlinkFunction, device, keyToGet string, isSuccessful bool) { - netlinkDevlinkGetDeviceInfoByNameAsMap = nf - _, err := DevlinkGetDeviceInfoByNameAndKeys(device, []string{keyToGet}) - if isSuccessful { - Expect(err).ToNot(HaveOccurred()) - } else { - Expect(err).To(HaveOccurred()) - } - }, - Entry("should return no error", FakeNetlinkSuccess, "fakeDevice", fwAppNameKey, true), - Entry("should return error", FakeNetlinkSuccess, "fakeDevice", "fakeKey", false), - ) -}) - -func FakeNetlinkSuccess(bus, device string) (map[string]string, error) { - values := make(map[string]string) - values[fwAppNameKey] = fakeFwAppName - return values, nil -} - -func FakeNetlinkError(bus, device string) (map[string]string, error) { - return nil, fakeNetlinkError -} - -func getFakeNetlinkError() error { - return fakeNetlinkError -} diff --git a/pkg/utils/mocks/NetlinkProvider.go b/pkg/utils/mocks/NetlinkProvider.go index d0034384f..d9f4c2caf 100644 --- a/pkg/utils/mocks/NetlinkProvider.go +++ b/pkg/utils/mocks/NetlinkProvider.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -16,6 +16,10 @@ type NetlinkProvider struct { func (_m *NetlinkProvider) GetDevLinkDeviceEswitchAttrs(ifName string) (*netlink.DevlinkDevEswitchAttr, error) { ret := _m.Called(ifName) + if len(ret) == 0 { + panic("no return value specified for GetDevLinkDeviceEswitchAttrs") + } + var r0 *netlink.DevlinkDevEswitchAttr var r1 error if rf, ok := ret.Get(0).(func(string) (*netlink.DevlinkDevEswitchAttr, error)); ok { @@ -38,10 +42,44 @@ func (_m *NetlinkProvider) GetDevLinkDeviceEswitchAttrs(ifName string) (*netlink return r0, r1 } +// GetDevlinkGetDeviceInfoByNameAsMap provides a mock function with given fields: bus, device +func (_m *NetlinkProvider) GetDevlinkGetDeviceInfoByNameAsMap(bus string, device string) (map[string]string, error) { + ret := _m.Called(bus, device) + + if len(ret) == 0 { + panic("no return value specified for GetDevlinkGetDeviceInfoByNameAsMap") + } + + var r0 map[string]string + var r1 error + if rf, ok := ret.Get(0).(func(string, string) (map[string]string, error)); ok { + return rf(bus, device) + } + if rf, ok := ret.Get(0).(func(string, string) map[string]string); ok { + r0 = rf(bus, device) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(map[string]string) + } + } + + if rf, ok := ret.Get(1).(func(string, string) error); ok { + r1 = rf(bus, device) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + // GetIPv4RouteList provides a mock function with given fields: ifName func (_m *NetlinkProvider) GetIPv4RouteList(ifName string) ([]netlink.Route, error) { ret := _m.Called(ifName) + if len(ret) == 0 { + panic("no return value specified for GetIPv4RouteList") + } + var r0 []netlink.Route var r1 error if rf, ok := ret.Get(0).(func(string) ([]netlink.Route, error)); ok { @@ -68,6 +106,10 @@ func (_m *NetlinkProvider) GetIPv4RouteList(ifName string) ([]netlink.Route, err func (_m *NetlinkProvider) GetLinkAttrs(ifName string) (*netlink.LinkAttrs, error) { ret := _m.Called(ifName) + if len(ret) == 0 { + panic("no return value specified for GetLinkAttrs") + } + var r0 *netlink.LinkAttrs var r1 error if rf, ok := ret.Get(0).(func(string) (*netlink.LinkAttrs, error)); ok { diff --git a/pkg/utils/mocks/RdmaProvider.go b/pkg/utils/mocks/RdmaProvider.go index 3e21a5f90..8bcb896d6 100644 --- a/pkg/utils/mocks/RdmaProvider.go +++ b/pkg/utils/mocks/RdmaProvider.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -13,6 +13,10 @@ type RdmaProvider struct { func (_m *RdmaProvider) GetRdmaCharDevices(rdmaDeviceName string) []string { ret := _m.Called(rdmaDeviceName) + if len(ret) == 0 { + panic("no return value specified for GetRdmaCharDevices") + } + var r0 []string if rf, ok := ret.Get(0).(func(string) []string); ok { r0 = rf(rdmaDeviceName) @@ -29,6 +33,10 @@ func (_m *RdmaProvider) GetRdmaCharDevices(rdmaDeviceName string) []string { func (_m *RdmaProvider) GetRdmaDevicesForAuxdev(deviceID string) []string { ret := _m.Called(deviceID) + if len(ret) == 0 { + panic("no return value specified for GetRdmaDevicesForAuxdev") + } + var r0 []string if rf, ok := ret.Get(0).(func(string) []string); ok { r0 = rf(deviceID) @@ -45,6 +53,10 @@ func (_m *RdmaProvider) GetRdmaDevicesForAuxdev(deviceID string) []string { func (_m *RdmaProvider) GetRdmaDevicesForPcidev(pciAddr string) []string { ret := _m.Called(pciAddr) + if len(ret) == 0 { + panic("no return value specified for GetRdmaDevicesForPcidev") + } + var r0 []string if rf, ok := ret.Get(0).(func(string) []string); ok { r0 = rf(pciAddr) diff --git a/pkg/utils/mocks/SriovnetProvider.go b/pkg/utils/mocks/SriovnetProvider.go index 04b7cbccb..cc660823f 100644 --- a/pkg/utils/mocks/SriovnetProvider.go +++ b/pkg/utils/mocks/SriovnetProvider.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -13,6 +13,10 @@ type SriovnetProvider struct { func (_m *SriovnetProvider) GetAuxNetDevicesFromPci(pciAddr string) ([]string, error) { ret := _m.Called(pciAddr) + if len(ret) == 0 { + panic("no return value specified for GetAuxNetDevicesFromPci") + } + var r0 []string var r1 error if rf, ok := ret.Get(0).(func(string) ([]string, error)); ok { @@ -39,6 +43,10 @@ func (_m *SriovnetProvider) GetAuxNetDevicesFromPci(pciAddr string) ([]string, e func (_m *SriovnetProvider) GetNetDevicesFromAux(auxDev string) ([]string, error) { ret := _m.Called(auxDev) + if len(ret) == 0 { + panic("no return value specified for GetNetDevicesFromAux") + } + var r0 []string var r1 error if rf, ok := ret.Get(0).(func(string) ([]string, error)); ok { @@ -65,6 +73,10 @@ func (_m *SriovnetProvider) GetNetDevicesFromAux(auxDev string) ([]string, error func (_m *SriovnetProvider) GetPfPciFromAux(auxDev string) (string, error) { ret := _m.Called(auxDev) + if len(ret) == 0 { + panic("no return value specified for GetPfPciFromAux") + } + var r0 string var r1 error if rf, ok := ret.Get(0).(func(string) (string, error)); ok { @@ -89,6 +101,10 @@ func (_m *SriovnetProvider) GetPfPciFromAux(auxDev string) (string, error) { func (_m *SriovnetProvider) GetSfIndexByAuxDev(auxDev string) (int, error) { ret := _m.Called(auxDev) + if len(ret) == 0 { + panic("no return value specified for GetSfIndexByAuxDev") + } + var r0 int var r1 error if rf, ok := ret.Get(0).(func(string) (int, error)); ok { @@ -113,6 +129,10 @@ func (_m *SriovnetProvider) GetSfIndexByAuxDev(auxDev string) (int, error) { func (_m *SriovnetProvider) GetUplinkRepresentor(vfPciAddress string) (string, error) { ret := _m.Called(vfPciAddress) + if len(ret) == 0 { + panic("no return value specified for GetUplinkRepresentor") + } + var r0 string var r1 error if rf, ok := ret.Get(0).(func(string) (string, error)); ok { @@ -137,6 +157,10 @@ func (_m *SriovnetProvider) GetUplinkRepresentor(vfPciAddress string) (string, e func (_m *SriovnetProvider) GetUplinkRepresentorFromAux(auxDev string) (string, error) { ret := _m.Called(auxDev) + if len(ret) == 0 { + panic("no return value specified for GetUplinkRepresentorFromAux") + } + var r0 string var r1 error if rf, ok := ret.Get(0).(func(string) (string, error)); ok { diff --git a/pkg/utils/mocks/VdpaProvider.go b/pkg/utils/mocks/VdpaProvider.go index 86f6788f0..d4d6a77c4 100644 --- a/pkg/utils/mocks/VdpaProvider.go +++ b/pkg/utils/mocks/VdpaProvider.go @@ -1,4 +1,4 @@ -// Code generated by mockery v2.30.16. DO NOT EDIT. +// Code generated by mockery v2.43.2. DO NOT EDIT. package mocks @@ -16,6 +16,10 @@ type VdpaProvider struct { func (_m *VdpaProvider) GetVdpaDeviceByPci(pciAddr string) (kvdpa.VdpaDevice, error) { ret := _m.Called(pciAddr) + if len(ret) == 0 { + panic("no return value specified for GetVdpaDeviceByPci") + } + var r0 kvdpa.VdpaDevice var r1 error if rf, ok := ret.Get(0).(func(string) (kvdpa.VdpaDevice, error)); ok { diff --git a/pkg/utils/netlink_provider.go b/pkg/utils/netlink_provider.go index f78d04b69..7b16385c1 100644 --- a/pkg/utils/netlink_provider.go +++ b/pkg/utils/netlink_provider.go @@ -15,6 +15,7 @@ package utils import ( + "errors" "fmt" nl "github.com/vishvananda/netlink" @@ -28,6 +29,8 @@ type NetlinkProvider interface { GetDevLinkDeviceEswitchAttrs(ifName string) (*nl.DevlinkDevEswitchAttr, error) // GetIPv4RouteList returns a list of IPv4 routes for specified interface GetIPv4RouteList(ifName string) ([]nl.Route, error) + // DevlinkGetDeviceInfoByNameAsMap returns devlink info for selected device as a map + GetDevlinkGetDeviceInfoByNameAsMap(bus string, device string) (map[string]string, error) } type defaultNetlinkProvider struct { @@ -35,6 +38,11 @@ type defaultNetlinkProvider struct { var netlinkProvider NetlinkProvider = &defaultNetlinkProvider{} +// Implement the DevlinkGetDeviceInfoByNameAsMap method +func (defaultNetlinkProvider) GetDevlinkGetDeviceInfoByNameAsMap(bus string, device string) (map[string]string, error) { + return nl.DevlinkGetDeviceInfoByNameAsMap(bus, device) +} + // GetNetlinkProvider will be invoked by functions in other packages that would need access to the netlink library func GetNetlinkProvider() NetlinkProvider { return netlinkProvider @@ -71,3 +79,62 @@ func (defaultNetlinkProvider) GetIPv4RouteList(ifName string) ([]nl.Route, error func SetNetlinkProviderInst(inst NetlinkProvider) { netlinkProvider = inst } + +const ( + // fwAppNameKey is a key to extract DDP name + fwAppNameKey = "fw.app.name" + pciBus = "pci" +) + +// IsDevlinkDDPSupportedByDevice checks if DDP of device can be acquired with devlink info command +func IsDevlinkDDPSupportedByDevice(device string) bool { + if _, err := netlinkProvider.GetDevlinkGetDeviceInfoByNameAsMap(device, fwAppNameKey); err != nil { + return false + } + + return true +} + +// DevlinkGetDDPProfiles returns DDP for selected device +func DevlinkGetDDPProfiles(device string) (string, error) { + return devlinkGetDeviceInfoByNameAndKey(device, fwAppNameKey) +} + +// DevlinkGetDeviceInfoByNameAndKeys returns values for selected keys in device info +func DevlinkGetDeviceInfoByNameAndKeys(device string, keys []string) (map[string]string, error) { + data, err := netlinkProvider.GetDevlinkGetDeviceInfoByNameAsMap(pciBus, device) + if err != nil { + return nil, err + } + + info := make(map[string]string) + + for _, key := range keys { + if value, exists := data[key]; exists { + info[key] = value + } else { + return nil, keyNotFoundError("DevlinkGetDeviceInfoByNameAndKeys", key) + } + } + + return info, nil +} + +// DevlinkGetDeviceInfoByNameAndKey returns values for selected key in device infol +func devlinkGetDeviceInfoByNameAndKey(device, key string) (string, error) { + keys := []string{key} + info, err := DevlinkGetDeviceInfoByNameAndKeys(device, keys) + if err != nil { + return "", err + } + + return info[key], nil +} + +// ErrKeyNotFound error when key is not found in the parsed response +var ErrKeyNotFound = errors.New("key could not be found") + +// KeyNotFoundError returns ErrKeyNotFound +func keyNotFoundError(function, key string) error { + return fmt.Errorf("%s - %w: %s", function, ErrKeyNotFound, key) +} diff --git a/pkg/utils/netlink_provider_test.go b/pkg/utils/netlink_provider_test.go new file mode 100644 index 000000000..dd5f392a4 --- /dev/null +++ b/pkg/utils/netlink_provider_test.go @@ -0,0 +1,105 @@ +package utils + +import ( + "errors" + + "github.com/k8snetworkplumbingwg/sriov-network-device-plugin/pkg/utils/mocks" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + "github.com/stretchr/testify/mock" +) + +const ( + fakeFwAppName = "fakeFwAppName" +) + +var errFakeNetlink = errors.New("fake netlink error") + +var _ = Describe("NetlinkProvider Functions", func() { + var ( + mockProvider *mocks.NetlinkProvider + ) + + BeforeEach(func() { + mockProvider = &mocks.NetlinkProvider{} + SetNetlinkProviderInst(mockProvider) + }) + + Describe("IsDevlinkDDPSupportedByDevice", func() { + It("should return true when device is supported", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", mock.AnythingOfType("string"), mock.AnythingOfType("string")). + Return(map[string]string{fwAppNameKey: fakeFwAppName}, nil) + + result := IsDevlinkDDPSupportedByDevice("fakeDevice") + Expect(result).To(BeTrue()) + }) + + It("should return false when device is not supported", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", mock.AnythingOfType("string"), mock.AnythingOfType("string")). + Return(nil, errFakeNetlink) + + result := IsDevlinkDDPSupportedByDevice("fakeDevice") + Expect(result).To(BeFalse()) + }) + }) + + Describe("DevlinkGetDDPProfiles", func() { + It("should return DDP profiles when no error occurs", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", pciBus, "fakeDevice"). + Return(map[string]string{fwAppNameKey: fakeFwAppName}, nil) + + profile, err := DevlinkGetDDPProfiles("fakeDevice") + Expect(err).ToNot(HaveOccurred()) + Expect(profile).To(Equal(fakeFwAppName)) + }) + + It("should return an error when fetching DDP profiles fails", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", pciBus, "fakeDevice"). + Return(nil, errFakeNetlink) + + profile, err := DevlinkGetDDPProfiles("fakeDevice") + Expect(err).To(HaveOccurred()) + Expect(profile).To(BeEmpty()) + }) + }) + + Describe("DevlinkGetDeviceInfoByNameAndKeys", func() { + It("should return device info when key is found", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", pciBus, "fakeDevice"). + Return(map[string]string{fwAppNameKey: fakeFwAppName}, nil) + + info, err := DevlinkGetDeviceInfoByNameAndKeys("fakeDevice", []string{fwAppNameKey}) + Expect(err).ToNot(HaveOccurred()) + Expect(info[fwAppNameKey]).To(Equal(fakeFwAppName)) + }) + + It("should return an error when key is not found", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", pciBus, "fakeDevice"). + Return(map[string]string{}, nil) + + info, err := DevlinkGetDeviceInfoByNameAndKeys("fakeDevice", []string{fwAppNameKey}) + Expect(err).To(HaveOccurred()) + Expect(info).To(BeNil()) + }) + + It("should return an error when fetching device info fails", func() { + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", pciBus, "fakeDevice"). + Return(nil, errFakeNetlink) + + info, err := DevlinkGetDeviceInfoByNameAndKeys("fakeDevice", []string{fwAppNameKey}) + Expect(err).To(HaveOccurred()) + Expect(info).To(BeNil()) + }) + }) +}) + +func init() { + SetDefaultMockNetlinkProvider() +} diff --git a/pkg/utils/testing.go b/pkg/utils/testing.go index 77baf22b4..3484222ff 100644 --- a/pkg/utils/testing.go +++ b/pkg/utils/testing.go @@ -87,7 +87,7 @@ func (fs *FakeFilesystem) Use() func() { // SetDefaultMockNetlinkProvider sets a mocked instance of NetlinkProvider to be used by unit test in other packages func SetDefaultMockNetlinkProvider() { - mockProvider := mocks.NetlinkProvider{} + mockProvider := &mocks.NetlinkProvider{} mockProvider. On("GetLinkAttrs", mock.AnythingOfType("string")). @@ -98,6 +98,8 @@ func SetDefaultMockNetlinkProvider() { mockProvider. On("GetIPv4RouteList", mock.AnythingOfType("string")). Return([]nl.Route{{Dst: nil}}, nil) - - SetNetlinkProviderInst(&mockProvider) + mockProvider. + On("GetDevlinkGetDeviceInfoByNameAsMap", mock.AnythingOfType("string")). + Return(map[string]string{"someKey": "someValue"}, nil) + SetNetlinkProviderInst(mockProvider) }