Add default timeout for do_barrier
And check the result do_barrier in all calls.
diff --git a/tests/testutils.py b/tests/testutils.py
index f1459bf..9c7b81f 100644
--- a/tests/testutils.py
+++ b/tests/testutils.py
@@ -169,9 +169,16 @@
return pkt
def do_barrier(ctrl):
+ """
+ Do a barrier command
+ Return 0 on success, -1 on error
+ """
b = message.barrier_request()
- ctrl.transact(b)
-
+ (resp, pkt) = ctrl.transact(b, timeout=ctrl.barrier_to)
+ # We'll trust the transaction processing in the controller
+ if not resp:
+ return -1
+ return 0
def port_config_get(controller, port_no, logger):
"""
@@ -475,12 +482,12 @@
parent.logger.debug("Clear flow table")
rc = delete_all_flows(parent.controller, parent.logger)
parent.assertEqual(rc, 0, "Failed to delete all flows")
- do_barrier(parent.controller)
+ parent.assertEqual(do_barrier(parent.controller), 0, "Barrier failed")
parent.logger.debug("Insert flow")
rv = parent.controller.message_send(request)
parent.assertTrue(rv != -1, "Error installing flow mod")
- do_barrier(parent.controller)
+ parent.assertEqual(do_barrier(parent.controller), 0, "Barrier failed")
def flow_match_test_port_pair(parent, ing_port, egr_ports, wildcards=0,
dl_vlan=-1, pkt=None, exp_pkt=None,