66 "net"
77 "testing/fstest"
88
9- "github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter/pkg/drvinfo"
109 "github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter/pkg/vfstats"
1110
1211 . "github.com/onsi/ginkgo/v2"
@@ -21,19 +20,11 @@ var _ = AfterEach(func() {
2120})
2221
2322var _ = DescribeTable ("test vf stats collection" , // Collect
24- func (priority []string , fsys fs.FS , driver * drvinfo. DriverInfo , link netlink.Device , expected []metric , logs ... string ) {
23+ func (priority []string , fsys fs.FS , link netlink.Device , expected []metric , logs ... string ) {
2524 devfs = fsys
2625 netfs = fsys
2726 collectorPriority = priority
2827
29- // TODO: replace with ethtool mock
30- drvinfo .GetDriverInfo = func (name string ) (* drvinfo.DriverInfo , error ) {
31- return driver , nil
32- }
33-
34- // TODO: replace with fstest.MapFS entry
35- supportedDrivers = drvinfo.SupportedDrivers {Drivers : drvinfo.DriversList {Drivers : []drvinfo.DriverInfo {* driver }}, DbFilePath : "" }
36-
3728 vfstats .GetLink = func (name string ) (netlink.Link , error ) {
3829 return & link , nil
3930 }
@@ -71,7 +62,6 @@ var _ = DescribeTable("test vf stats collection", // Collect
7162 "t_ens785f0/device/sriov/0/stats/tx_packets" : {Data : []byte ("8" )},
7263 "t_ens785f0/device/sriov/1/stats/rx_packets" : {Data : []byte ("16" )},
7364 "t_ens785f0/device/sriov/1/stats/tx_packets" : {Data : []byte ("32" )}},
74- & drvinfo.DriverInfo {Name : "ice" , Version : "1.9.11" },
7565 nil ,
7666 []metric {
7767 {map [string ]string {"numa_node" : "0" , "pciAddr" : "0000:1d:01.0" , "pf" : "t_ens785f0" , "vf" : "0" }, 4 },
@@ -92,7 +82,6 @@ var _ = DescribeTable("test vf stats collection", // Collect
9282 "0000:2e:00.0/class" : {Data : []byte ("0x020000" )},
9383 "0000:2e:00.0/virtfn0" : {Data : []byte ("/sys/devices/0000:2e:01.0" ), Mode : fs .ModeSymlink },
9484 "0000:2e:00.0/virtfn1" : {Data : []byte ("/sys/devices/0000:2e:01.1" ), Mode : fs .ModeSymlink }},
95- & drvinfo.DriverInfo {Name : "ice" , Version : "1.9.11" },
9685 netlink.Device {LinkAttrs : netlink.LinkAttrs {Vfs : []netlink.VfInfo {
9786 {0 , net.HardwareAddr {}, 0 , 0 , 0 , true , 0 , 0 , 0 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 0 , 0 }, //nolint:govet
9887 {1 , net.HardwareAddr {}, 0 , 0 , 0 , true , 0 , 0 , 0 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 0 , 0 }}}}, //nolint:govet
@@ -131,7 +120,6 @@ var _ = DescribeTable("test vf stats collection", // Collect
131120 "0000:4g:00.0/numa_node" : {Data : []byte ("0" )},
132121 "0000:4g:00.0/class" : {Data : []byte ("0x020000" )},
133122 "0000:4g:00.0/virtfn0" : {Data : []byte ("/sys/devices/0000:4g:01.0" ), Mode : fs .ModeSymlink }},
134- & drvinfo.DriverInfo {Name : "ice" , Version : "1.9.11" },
135123 netlink.Device {LinkAttrs : netlink.LinkAttrs {Vfs : []netlink.VfInfo {
136124 {0 , net.HardwareAddr {}, 0 , 0 , 0 , true , 0 , 0 , 0 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 0 , 0 }}}}, //nolint:govet
137125 []metric {
@@ -213,17 +201,9 @@ var _ = DescribeTable("test creating sriovDev collector", // createSriovDevColle
213201)
214202
215203var _ = DescribeTable ("test getting sriov devices from filesystem" , // getSriovDevAddrs
216- func (fsys fs.FS , driver * drvinfo. DriverInfo , expected []string , logs ... string ) {
204+ func (fsys fs.FS , expected []string , logs ... string ) {
217205 devfs = fsys
218206
219- // TODO: replace with ethtool mock
220- drvinfo .GetDriverInfo = func (name string ) (* drvinfo.DriverInfo , error ) {
221- return driver , nil
222- }
223-
224- // TODO: replace with fstest.MapFS entry
225- supportedDrivers = drvinfo.SupportedDrivers {Drivers : drvinfo.DriversList {Drivers : []drvinfo.DriverInfo {* driver }}, DbFilePath : "" }
226-
227207 devs := getSriovDevAddrs ()
228208 Expect (devs ).To (Equal (expected ))
229209
@@ -235,40 +215,38 @@ var _ = DescribeTable("test getting sriov devices from filesystem", // getSriovD
235215 "0000:6f:00.1/sriov_totalvfs" : {Data : []byte ("64" )}, "0000:6f:00.1/class" : {Data : []byte ("0x020000" )},
236216 "0000:7g:00.0/sriov_totalvfs" : {Data : []byte ("128" )}, "0000:7g:00.0/class" : {Data : []byte ("0x020000" )},
237217 "0000:7g:00.1/sriov_totalvfs" : {Data : []byte ("128" )}, "0000:7g:00.1/class" : {Data : []byte ("0x020000" )}},
238- & drvinfo.DriverInfo {Name : "ice" , Version : "1.9.11" },
239218 []string {"0000:6f:00.0" , "0000:6f:00.1" , "0000:7g:00.0" , "0000:7g:00.1" }),
240219 Entry ("mixed devices" ,
241220 fstest.MapFS {
242221 "0000:8h:00.0/" : {Mode : fs .ModeDir },
243222 "0000:8h:00.1/" : {Mode : fs .ModeDir },
244223 "0000:9i:00.0/sriov_totalvfs" : {Data : []byte ("63" )}, "0000:9i:00.0/class" : {Data : []byte ("0x020000" )},
245224 "0000:9i:00.1/sriov_totalvfs" : {Data : []byte ("63" )}, "0000:9i:00.1/class" : {Data : []byte ("0x020000" )}},
246- & drvinfo.DriverInfo {Name : "ice" , Version : "1.9.11" },
247225 []string {"0000:9i:00.0" , "0000:9i:00.1" }),
248226 Entry ("no sriov net devices" ,
249227 fstest.MapFS {
250228 "0000:1b:00.0/" : {Mode : fs .ModeDir },
251229 "0000:1b:00.1/" : {Mode : fs .ModeDir },
252230 "0000:1b:00.2/" : {Mode : fs .ModeDir },
253231 "0000:1b:00.3/" : {Mode : fs .ModeDir }},
254- & drvinfo.DriverInfo {Name : "ice" , Version : "1.9.11" },
255232 []string {},
256233 "no sriov net devices found" ),
257234)
258235
259236var _ = DescribeTable ("test getting sriov dev details" , // getSriovDev
260- func (dev string , priority []string , fsys fs.FS , driver * drvinfo. DriverInfo , expected sriovDev , logs ... string ) {
237+ func (dev string , priority []string , fsys fs.FS , link netlink. Link , expected sriovDev , logs ... string ) {
261238 devfs = fsys
262239 netfs = fsys
263240
264- // TODO: replace with ethtool mock
265- drvinfo .GetDriverInfo = func (name string ) (* drvinfo.DriverInfo , error ) {
266- return driver , nil
241+ if link != nil {
242+ vfstats .GetLink = func (name string ) (netlink.Link , error ) {
243+ return link , nil
244+ }
245+ DeferCleanup (func () {
246+ vfstats .GetLink = netlink .LinkByName
247+ })
267248 }
268249
269- // TODO: replace with fstest.MapFS entry
270- supportedDrivers = drvinfo.SupportedDrivers {Drivers : drvinfo.DriversList {Drivers : []drvinfo.DriverInfo {* driver }}, DbFilePath : "" }
271-
272250 sriovDev := getSriovDev (dev , priority )
273251 Expect (sriovDev ).To (Equal (expected ))
274252
@@ -284,7 +262,7 @@ var _ = DescribeTable("test getting sriov dev details", // getSriovDev
284262 "ens785f0/device/sriov" : {Mode : fs .ModeDir }, // Added to enable sysfs reader
285263 "0000:5g:00.0/net/ens801f0" : {Mode : fs .ModeDir },
286264 "0000:5g:00.0/virtfn0" : {Data : []byte ("/sys/devices/0000:5g:01.0" ), Mode : fs .ModeSymlink }},
287- & drvinfo. DriverInfo { Name : "ice" , Version : "1.9.11" } ,
265+ nil ,
288266 sriovDev {
289267 "ens785f0" ,
290268 sysfsReader {"/sys/class/net/%s/device/sriov/%s/stats" },
@@ -299,7 +277,7 @@ var _ = DescribeTable("test getting sriov dev details", // getSriovDev
299277 "0000:6h:00.0/virtfn1" : {Data : []byte ("/sys/devices/0000:6h:01.1" ), Mode : fs .ModeSymlink },
300278 "0000:7i:00.0/net/ens801f0" : {Mode : fs .ModeDir },
301279 "0000:7i:00.0/virtfn0" : {Data : []byte ("/sys/devices/0000:7i:01.0" ), Mode : fs .ModeSymlink }},
302- & drvinfo. DriverInfo { Name : "ice" , Version : "1.9.11" },
280+ & netlink. Device { LinkAttrs : netlink. LinkAttrs { Vfs : []netlink. VfInfo {}}}, //nolint:govet
303281 sriovDev {
304282 "ens785f0" ,
305283 netlinkReader {vfstats .VfStats ("ens785f0" )},
@@ -313,7 +291,7 @@ var _ = DescribeTable("test getting sriov dev details", // getSriovDev
313291 "0000:8j:00.0/net/ens785f0" : {Mode : fs .ModeDir },
314292 "0000:8j:00.0/virtfn0" : {Data : []byte ("/sys/devices/0000:8j:01.0" ), Mode : fs .ModeSymlink },
315293 "0000:8j:00.0/virtfn1" : {Data : []byte ("/sys/devices/0000:8j:01.1" ), Mode : fs .ModeSymlink }},
316- & drvinfo. DriverInfo { Name : "ice" , Version : "1.9.11" } ,
294+ nil ,
317295 sriovDev {
318296 "ens785f0" ,
319297 nil ,
@@ -324,7 +302,7 @@ var _ = DescribeTable("test getting sriov dev details", // getSriovDev
324302 []string {"sysfs" },
325303 fstest.MapFS {
326304 "0000:9k:00.0/net/ens785f0" : {Mode : fs .ModeDir }},
327- & drvinfo. DriverInfo { Name : "ice" , Version : "1.9.11" } ,
305+ nil ,
328306 sriovDev {
329307 "ens785f0" ,
330308 nil ,
0 commit comments