X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fovs-vsctl.at;h=4f179b691dd160cbd8754d0d744b726851d62779;hb=597cf5a1c197e269ad4376364422e23f5405105f;hp=66c375c94a0f1d36c5a29b70e8ae000d97dbba07;hpb=e89e5374bebd6ae00098ce40511a36daa09fc77e;p=openvswitch diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at index 66c375c9..4f179b69 100644 --- a/tests/ovs-vsctl.at +++ b/tests/ovs-vsctl.at @@ -661,6 +661,12 @@ AT_CHECK([RUN_OVS_VSCTL([get b br0 :y=z])], AT_CHECK([RUN_OVS_VSCTL([get b br0 datapath_id:y=z])], [1], [], [ovs-vsctl: datapath_id:y=z: trailing garbage "=z" in argument ], [OVS_VSCTL_CLEANUP]) +AT_CHECK([RUN_OVS_VSCTL([set b br0 'datapath_id:y>=z'])], + [1], [], [ovs-vsctl: datapath_id:y>=z: argument does not end in "=" followed by a value. +], [OVS_VSCTL_CLEANUP]) +AT_CHECK([RUN_OVS_VSCTL([wait-until b br0 datapath_id:y,z])], + [1], [], [ovs-vsctl: datapath_id:y,z: argument does not end in "=", "!=", "<", ">", "<=", or ">=" followed by a value. +], [OVS_VSCTL_CLEANUP]) AT_CHECK([RUN_OVS_VSCTL([get b br0 datapath_id::])], [1], [], [ovs-vsctl: datapath_id::: trailing garbage ":" in argument ], [OVS_VSCTL_CLEANUP]) @@ -697,6 +703,58 @@ AT_CHECK([RUN_OVS_VSCTL([destroy b br2])], OVS_VSCTL_CLEANUP AT_CLEANUP +AT_SETUP([database commands -- wait-until immediately true]) +AT_KEYWORDS([ovs-vsctl]) +OVS_VSCTL_SETUP +AT_CHECK([RUN_OVS_VSCTL( + [add-br br0], + [add-bond br0 bond0 eth0 eth1], + [set port bond0 bond_updelay=500 other-config:abc=def])], + [0], [], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . managers=[]]])], + [0], [], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . bridges!=[]]])], + [0], [], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([RUN_OVS_VSCTL([[wait-until Port bond0 other-config:abc=def]])], + [0], [], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([RUN_OVS_VSCTL([[wait-until port bond0 'bond_updelay>50' 'other-config:abc>d' 'other-config:abc stdout1 & +(RUN_OVS_VSCTL([[wait-until bridge br1 -- get bridge br1 other-config:abc]])) > stdout2 & +(RUN_OVS_VSCTL([[wait-until b br1 other-config={abc=def} -- get bridge br1 other-config]])) > stdout3 & +(RUN_OVS_VSCTL([[wait-until port bond0 'bond_updelay>50' -- get port bond0 bond-updelay]])) > stdout4 & + +# Give the ovs-vsctls a chance to read the database +sleep 1 + +AT_CHECK([RUN_OVS_VSCTL([add-br br10 -- set bridge br1 other-config:abc=quux]) +RUN_OVS_VSCTL([add-br br1 -- set bridge br1 other-config:abc=def -- add-bond br1 bond0 eth0 eth1 -- set port bond0 bond_updelay=500])], + [0], [], [], [OVS_VSCTL_CLEANUP]) + +# Wait for the ovs-vsctls to finish. +wait + +# Check output +AT_CHECK([cat stdout1], [0], [quux +], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([cat stdout2], [0], [def +], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([cat stdout3], [0], [{abc=def} +], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK([cat stdout4], [0], [500 +], [], [OVS_VSCTL_CLEANUP]) + +OVS_VSCTL_CLEANUP +AT_CLEANUP + dnl This test really shows a bug -- "create" followed by "list" in dnl the same execution shows the wrong UUID on the "list" command. dnl The bug is documented in ovs-vsctl.8.