VOL-2632 Error propagation from HashFlowStats
Change-Id: Iec132540c8d1b474820d390fca3d4a37e7dc99c9
diff --git a/pkg/flows/flow_utils_test.go b/pkg/flows/flow_utils_test.go
index 5219cf3..c4e481d 100644
--- a/pkg/flows/flow_utils_test.go
+++ b/pkg/flows/flow_utils_test.go
@@ -37,6 +37,11 @@
timeoutError = status.Errorf(codes.Aborted, "timeout")
}
+func TestHashFlowStatsNil(t *testing.T) {
+ _, err := HashFlowStats(nil)
+ assert.EqualError(t, err, "hash-flow-stats-nil-flow")
+}
+
func TestFlowsAndGroups_AddFlow(t *testing.T) {
fg := NewFlowsAndGroups()
allFlows := fg.ListFlows()
@@ -63,7 +68,8 @@
Output(uint32(ofp.OfpPortNo_OFPP_CONTROLLER)),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
fg.AddFlow(flow)
allFlows = fg.ListFlows()
@@ -115,7 +121,8 @@
Output(1),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
fg.AddFlow(flow)
ga = &GroupArgs{
@@ -166,7 +173,8 @@
PopVlan(),
},
}
- flow1 := MkFlowStat(fa1)
+ flow1, err := MkFlowStat(fa1)
+ assert.Nil(t, err)
fa2 = &FlowArgs{
KV: OfpFlowModArgs{"priority": 1500},
@@ -181,7 +189,8 @@
Output(2),
},
}
- flow2 := MkFlowStat(fa2)
+ flow2, err := MkFlowStat(fa2)
+ assert.Nil(t, err)
fg.AddFlow(flow1)
fg.AddFlow(flow2)
@@ -234,7 +243,8 @@
Group(10),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
fg.AddFlow(flow)
ga = &GroupArgs{
@@ -281,7 +291,8 @@
Output(1),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
fg.AddFlow(flow)
ga = &GroupArgs{
@@ -335,7 +346,8 @@
Output(1),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
dr.AddFlow("123456", flow)
rules = dr.GetRules()
assert.True(t, len(rules) == 1)
@@ -368,7 +380,8 @@
Output(1),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
fg.AddFlow(flow)
ga = &GroupArgs{
@@ -414,7 +427,8 @@
Output(1),
},
}
- flow = MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
assert.True(t, FlowHasOutPort(flow, 1))
assert.False(t, FlowHasOutPort(flow, 2))
@@ -425,7 +439,8 @@
VlanVid(uint32(ofp.OfpVlanId_OFPVID_PRESENT) | 0),
},
}
- flow = MkFlowStat(fa)
+ flow, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowHasOutPort(flow, 1))
}
@@ -446,7 +461,8 @@
Group(10),
},
}
- flow = MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
assert.True(t, FlowHasOutGroup(flow, 10))
assert.False(t, FlowHasOutGroup(flow, 11))
@@ -463,7 +479,8 @@
Output(1),
},
}
- flow = MkFlowStat(fa)
+ flow, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowHasOutGroup(flow, 1))
}
@@ -482,7 +499,8 @@
Group(10),
},
}
- flow1 := MkFlowStat(fa)
+ flow1, err := MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, nil))
fa = &FlowArgs{
@@ -498,7 +516,8 @@
Group(10),
},
}
- flow2 := MkFlowStat(fa)
+ flow2, err := MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
assert.False(t, FlowMatch(nil, flow2))
@@ -512,7 +531,8 @@
Ipv4Dst(0xe00a0a0a),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.True(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -528,7 +548,8 @@
Group(10),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -541,7 +562,8 @@
Ipv4Dst(0xe00a0a0a),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -554,7 +576,8 @@
Ipv4Dst(0xe00a0a0a),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -567,7 +590,8 @@
Ipv4Dst(0xe00a0a0a),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -580,7 +604,8 @@
Ipv4Dst(0xe00a0a0a),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -592,7 +617,8 @@
EthType(0x800),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatch(flow1, flow2))
fa = &FlowArgs{
@@ -609,7 +635,8 @@
Output(1),
},
}
- flow2 = MkFlowStat(fa)
+ flow2, err = MkFlowStat(fa)
+ assert.Nil(t, err)
assert.True(t, FlowMatch(flow1, flow2))
}
@@ -629,7 +656,8 @@
Group(10),
},
}
- flow := MkFlowStat(fa)
+ flow, err := MkFlowStat(fa)
+ assert.Nil(t, err)
assert.False(t, FlowMatchesMod(flow, nil))
fa = &FlowArgs{
@@ -649,7 +677,9 @@
flowMod := MkSimpleFlowMod(ToOfpOxmField(fa.MatchFields), fa.Actions, fa.Command, fa.KV)
assert.False(t, FlowMatchesMod(nil, flowMod))
assert.False(t, FlowMatchesMod(flow, flowMod))
- assert.True(t, FlowMatch(flow, FlowStatsEntryFromFlowModMessage(flowMod)))
+ entry, err := FlowStatsEntryFromFlowModMessage(flowMod)
+ assert.Nil(t, err)
+ assert.True(t, FlowMatch(flow, entry))
fa = &FlowArgs{
KV: OfpFlowModArgs{"table_id": uint64(ofp.OfpTable_OFPTT_ALL),