ovs-ofctl: Make "barrier" output reproducible for testing.
authorBen Pfaff <blp@nicira.com>
Wed, 7 Mar 2012 22:46:14 +0000 (14:46 -0800)
committerBen Pfaff <blp@nicira.com>
Wed, 7 Mar 2012 22:47:24 +0000 (14:47 -0800)
The "ofproto - asynchronous message control" test had a race in which
the "send: OFPT_BARRIER_REQUEST" message could get printed in different
places because there was nothing to ensure that messages from the switch
were printed before messages sent to the switch, even though the actual
ordering of the messages was predictable.  This fixes the problem by not
printing a message at all when the barrier request is sent.

Bug #10049.
Signed-off-by: Ben Pfaff <blp@nicira.com>
tests/ofproto.at
utilities/ovs-ofctl.c

index 9358a6a..4565649 100644 (file)
@@ -472,8 +472,7 @@ priority:0,tunnel:0,in_port:0000,tci(0) mac(00:26:b9:8c:b0:f9->00:25:83:df:b4:00
     AT_FAIL_IF([test X"$1" != X])
 
     ovs-appctl -t ovs-ofctl ofctl/barrier
-    echo >>expout "send: OFPT_BARRIER_REQUEST:
-OFPT_BARRIER_REPLY:"
+    echo >>expout "OFPT_BARRIER_REPLY:"
 
     AT_CHECK(
       [[sed '
index 786221e..44daa8a 100644 (file)
@@ -922,9 +922,6 @@ ofctl_barrier(struct unixctl_conn *conn, int argc OVS_UNUSED,
     }
 
     msg = ofputil_encode_barrier_request();
-    fprintf(stderr, "send: ");
-    ofp_print(stderr, msg->data, msg->size, verbosity);
-
     error = vconn_send_block(aux->vconn, msg);
     if (error) {
         ofpbuf_delete(msg);