vpp_if_stats: Fixing a bug in getting vpp interfaces indexes 68/16368/3
authorKoren Lev <korenlev@gmail.com>
Thu, 6 Dec 2018 08:51:18 +0000 (10:51 +0200)
committerOle Trøan <otroan@employees.org>
Fri, 7 Dec 2018 10:42:00 +0000 (10:42 +0000)
Change-Id: I6290945a94b4f7878e9af94cc7daec455327482e
Signed-off-by: Koren Lev <korenlev@gmail.com>
extras/vpp_if_stats/vpp_if_stats.go [changed mode: 0755->0644]
extras/vpp_if_stats/vpp_if_stats_test.go [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 48ce085..90c1700
@@ -117,9 +117,9 @@ func (v *vppConnector) reduceCombinedCounters(stat *adapter.StatEntry) *[]adapte
        counters := stat.Data.(adapter.CombinedCounterStat)
        stats := make([]adapter.CombinedCounter, len(v.Interfaces))
        for _, workerStats := range counters {
-               for i, interfaceStats := range workerStats {
-                       stats[i].Bytes += interfaceStats.Bytes
-                       stats[i].Packets += interfaceStats.Packets
+               for i := 0; i < len(v.Interfaces); i++ {
+                       stats[i].Bytes += workerStats[i].Bytes
+                       stats[i].Packets += workerStats[i].Packets
                }
        }
        return &stats
@@ -129,8 +129,8 @@ func (v *vppConnector) reduceSimpleCounters(stat *adapter.StatEntry) *[]adapter.
        counters := stat.Data.(adapter.SimpleCounterStat)
        stats := make([]adapter.Counter, len(v.Interfaces))
        for _, workerStats := range counters {
-               for i, interfaceStats := range workerStats {
-                       stats[i] += interfaceStats
+               for i := 0; i < len(v.Interfaces); i++ {
+                       stats[i] += workerStats[i]
                }
        }
        return &stats
old mode 100755 (executable)
new mode 100644 (file)
index 07a5983..3c22ce8
@@ -25,9 +25,9 @@ var (
                        Stats:              interfaceStats{},                                        // TODO
                }
        }
-       testInterfaces = func() *map[uint32]*vppInterface {
-               return &map[uint32]*vppInterface{
-                       testSwIfIndex: testInterface(),
+       testInterfaces = func() []*vppInterface {
+               return []*vppInterface{
+                       testInterface(),
                }
        }
 
@@ -164,7 +164,7 @@ func TestVppIfStats_GetStatsForAllInterfacesNoStats(t *testing.T) {
        mockStatsAPI := NewMockStatsAPI(mockCtrl)
        mockStatsAPI.EXPECT().DumpStats("/if").Return([]*adapter.StatEntry{}, nil)
 
-       v := vppConnector{stats: mockStatsAPI, Interfaces: *testInterfaces()}
+       v := vppConnector{stats: mockStatsAPI, Interfaces: testInterfaces()}
        err := v.getStatsForAllInterfaces()
        assert.NoError(t, err, "GetStatsForAllInterfaces should not return an error")
        assert.Equal(t, interfaceStats{}, v.Interfaces[testSwIfIndex].Stats, "Stats should be empty")
@@ -177,7 +177,7 @@ func testStats(t *testing.T, statsDump *[]*adapter.StatEntry, expectedStats *int
        mockStatsAPI := NewMockStatsAPI(mockCtrl)
        mockStatsAPI.EXPECT().DumpStats("/if").Return(*statsDump, nil)
 
-       v := vppConnector{stats: mockStatsAPI, Interfaces: *testInterfaces()}
+       v := vppConnector{stats: mockStatsAPI, Interfaces: testInterfaces()}
        err := v.getStatsForAllInterfaces()
        assert.NoError(t, err, "GetStatsForAllInterfaces should not return an error")
        assert.Equal(t, *expectedStats, v.Interfaces[testSwIfIndex].Stats, "Collected and saved stats should match")