diff options
author | Andy Zhou <azhou@ovn.org> | 2017-05-16 18:51:39 -0700 |
---|---|---|
committer | Andy Zhou <azhou@ovn.org> | 2017-05-17 13:50:50 -0700 |
commit | a1a23d9a576e234aa93087f83d235ac373c3e2f4 (patch) | |
tree | 556f3b18d7f328c7a0dd86cd4d26911bdec51008 /tests | |
parent | 73e8c580eef4651370938fb9355d0b6fd8b3f54a (diff) | |
download | openvswitch-a1a23d9a576e234aa93087f83d235ac373c3e2f4.tar.gz |
tests: Fix timing dependency bridge - multiple bridges share a controller
Without the fix, this test currently consistently fail when running
on Travis CI. Connecting to the controller can take more time than
running locally. Because the exact connecting time is variable, the
exact output should not be used for correctness checking.
Fixes: 85c55772a453(bridge: Fix controller status update)
Signed-off-by: Andy Zhou <azhou@ovn.org>
Acked-by: Joe Stringer <joe@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bridge.at | 23 |
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]) |