summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bridge.at23
1 files changed, 15 insertions, 8 deletions
diff --git a/tests/bridge.at b/tests/bridge.at
index 58b27d445..cc7619d3f 100644
--- a/tests/bridge.at
+++ b/tests/bridge.at
@@ -49,23 +49,30 @@ OVS_VSWITCHD_START(
dnl Start ovs-testcontroller
AT_CHECK([ovs-testcontroller --detach punix:controller], [0], [ignore])
+OVS_WAIT_UNTIL([test -e controller])
dnl Add the controller to both bridges, 5 seconds apart.
AT_CHECK([ovs-vsctl set-controller br0 unix:controller])
+AT_CHECK([ovs-vsctl set-fail-mode br0 secure])
AT_CHECK([ovs-appctl time/warp 5000], [0], [ignore])
AT_CHECK([ovs-vsctl set-controller br1 unix:controller])
+AT_CHECK([ovs-vsctl set-fail-mode br1 secure])
-dnl Wait for the controller connection to come up
-for i in `seq 0 7`
+dnl Wait for the controller connectionsi to be up
+for i in `seq 0 19`
do
- AT_CHECK([ovs-appctl time/warp 10], [0], [ignore])
+ if ovs-vsctl --column=is_connected list controller |grep "false"; then
+ :
+ else
+ break
+ fi
+ ovs-appctl time/warp 1100
done
-dnl Make sure the connection status are different
-AT_CHECK([ovs-vsctl --columns=status list controller | sort], [0], [dnl
-
-status : {sec_since_connect="0", state=ACTIVE}
-status : {sec_since_connect="5", state=ACTIVE}
+dnl Make sure the connection status have two records and they are different.
+dnl (The exact output contains timing information that are machine dependent.)
+AT_CHECK([ovs-vsctl --column=status list controller | dnl
+ grep "status" | sort -u |wc -l], [0], [2
])
OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])