Skip to content

Commit

Permalink
tests/ofproto.at: Workaround some races
Browse files Browse the repository at this point in the history
Port a variant of commit a6d1a29:
    ofproto.at: Workaround a race

    While a barrier serializes requests from the same connection,
    it doesn't wait for requests from other connections to the switch.
    Replace the barrier with infamous "sleep 1" to workaround the problem.

to the following tests:
    "ofproto - asynchronous message control (OpenFlow 1.0)",
    "ofproto - asynchronous message control (OpenFlow 1.3)",
    "ofproto - asynchronous message control (OpenFlow 1.4)" and
    "ofproto - asynchronous message control (OpenFlow 1.5)"

Do not use "sleep 1", but wait for log file to have (at least) the same
number of lines we expect (it generally waits less time).

Sometimes one of these tests fails because the OFPT_BARRIER_REPLY is
printed before the other message we expect to have.

Suggested-by: Lance Richardson <lrichard@redhat.com>
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
  • Loading branch information
drizzt authored and blp committed May 5, 2017
1 parent 69ee22a commit 9335810
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions tests/ofproto.at
Expand Up @@ -3212,8 +3212,7 @@ udp,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172
fi
AT_FAIL_IF([test X"$1" != X])

ovs-appctl -t ovs-ofctl ofctl/barrier
echo >>expout "OFPT_BARRIER_REPLY:"
OVS_WAIT_UNTIL([test `wc -l < "monitor.log"` -ge `wc -l < "expout"`])

AT_CHECK(
[[sed '
Expand Down Expand Up @@ -3316,7 +3315,7 @@ udp,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172
fi
AT_FAIL_IF([test X"$1" != X])

sleep 1
OVS_WAIT_UNTIL([test `wc -l < "monitor.log"` -ge `wc -l < "expout"`])

AT_CHECK(
[[sed '
Expand Down Expand Up @@ -3435,8 +3434,7 @@ udp,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172

AT_FAIL_IF([test X"$1" != X])

ovs-appctl -t ovs-ofctl ofctl/barrier
echo >>expout "OFPT_BARRIER_REPLY (OF1.3):"
OVS_WAIT_UNTIL([test `wc -l < "monitor.log"` -ge `wc -l < "expout"`])

AT_CHECK(
[[sed '
Expand Down Expand Up @@ -3645,8 +3643,7 @@ table_desc:-

AT_FAIL_IF([test X"$1" != X])

ovs-appctl -t ovs-ofctl ofctl/barrier
echo >>expout "OFPT_BARRIER_REPLY (OF1.4):"
OVS_WAIT_UNTIL([test `wc -l < "monitor.log"` -ge `wc -l < "expout"`])

AT_CHECK(
[[sed '
Expand Down Expand Up @@ -3734,8 +3731,7 @@ OFPT_PORT_STATUS (OF1.5): MOD: 2(test): addr:aa:55:aa:55:00:0x

AT_FAIL_IF([test X"$1" != X])

ovs-appctl -t ovs-ofctl ofctl/barrier
echo >>expout "OFPT_BARRIER_REPLY (OF1.5):"
OVS_WAIT_UNTIL([test `wc -l < "monitor.log"` -ge `wc -l < "expout"`])

AT_CHECK(
[[sed '
Expand Down

0 comments on commit 9335810

Please sign in to comment.