X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fovs-vsctl.at;h=152a6585c0dcecccd92dad014e249520e102d0a9;hb=217f48c61bbfe1422f00830f36d2d255d3622446;hp=4f179b691dd160cbd8754d0d744b726851d62779;hpb=7db03f7c0e1d2b917aec5af0613f6d8e228aa639;p=openvswitch diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at index 4f179b69..152a6585 100644 --- a/tests/ovs-vsctl.at +++ b/tests/ovs-vsctl.at @@ -15,17 +15,17 @@ dnl RUN_OVS_VSCTL(COMMAND, ...) dnl dnl Executes each ovs-vsctl COMMAND. m4_define([RUN_OVS_VSCTL], - [m4_foreach([command], [$@], [ovs-vsctl --no-wait -vreconnect:ANY:emer --db=unix:socket -- command + [m4_foreach([command], [$@], [ovs-vsctl --timeout=5 --no-wait -vreconnect:ANY:emer --db=unix:socket -- command ])]) m4_define([RUN_OVS_VSCTL_ONELINE], - [m4_foreach([command], [$@], [ovs-vsctl --no-wait -vreconnect:ANY:emer --db=unix:socket --oneline -- command + [m4_foreach([command], [$@], [ovs-vsctl --timeout=5 --no-wait -vreconnect:ANY:emer --db=unix:socket --oneline -- command ])]) dnl RUN_OVS_VSCTL_TOGETHER(COMMAND, ...) dnl dnl Executes each ovs-vsctl COMMAND in a single run of ovs-vsctl. m4_define([RUN_OVS_VSCTL_TOGETHER], - [ovs-vsctl --no-wait -vreconnect:ANY:emer --db=unix:socket --oneline dnl + [ovs-vsctl --timeout=5 --no-wait -vreconnect:ANY:emer --db=unix:socket --oneline dnl m4_foreach([command], [$@], [ -- command])]) dnl CHECK_BRIDGES([BRIDGE, PARENT, VLAN], ...) @@ -360,76 +360,21 @@ OVS_VSCTL_SETUP AT_CHECK([RUN_OVS_VSCTL_TOGETHER( [add-br br0], - [set-controller tcp:1.2.3.4], - [get-controller], - [get-controller default], [get-controller br0], - [set-controller br0 tcp:4.5.6.7], - [get-controller], - [get-controller default], - [get-controller br0], - - [del-controller], - [get-controller], - [get-controller default], - [get-controller br0], - - [set-controller default tcp:8.9.10.11], - [get-controller], - [get-controller default], - [get-controller br0], - - [del-controller default], - [get-controller], - [get-controller default], [get-controller br0], [del-controller br0], - [get-controller], - [get-controller default], - [get-controller br0], - - [set-controller default tcp:1.2.3.4 tcp:4.5.6.7], - [get-controller], - [get-controller default], [get-controller br0], [set-controller br0 tcp:8.9.10.11 tcp:5.4.3.2], - [get-controller], - [get-controller default], [get-controller br0])], [0], [ -tcp:1.2.3.4 -tcp:1.2.3.4 -tcp:1.2.3.4 -tcp:1.2.3.4 -tcp:1.2.3.4 tcp:4.5.6.7 -tcp:4.5.6.7 - -tcp:8.9.10.11 -tcp:8.9.10.11 -tcp:4.5.6.7 - - - -tcp:4.5.6.7 - - - - - -tcp:1.2.3.4\ntcp:4.5.6.7 -tcp:1.2.3.4\ntcp:4.5.6.7 -tcp:1.2.3.4\ntcp:4.5.6.7 - -tcp:1.2.3.4\ntcp:4.5.6.7 -tcp:1.2.3.4\ntcp:4.5.6.7 tcp:5.4.3.2\ntcp:8.9.10.11 ], [], [OVS_VSCTL_CLEANUP]) OVS_VSCTL_CLEANUP @@ -577,6 +522,7 @@ controller : [] datapath_id : [] datapath_type : "" external_ids : {} +fail_mode : [] flood_vlans : [] mirrors : [] name : "br0" @@ -638,6 +584,7 @@ active_timeout : 0 add_id_to_interface : false engine_id : [] engine_type : [] +external_ids : {} targets : ["1.2.3.4:567"] ]], [ignore], [test ! -e pid || kill `cat pid`]) AT_CHECK([RUN_OVS_VSCTL([list interx x])], @@ -646,9 +593,6 @@ AT_CHECK([RUN_OVS_VSCTL([list interx x])], AT_CHECK([RUN_OVS_VSCTL([list b x])], [1], [], [ovs-vsctl: no row "x" in table Bridge ], [OVS_VSCTL_CLEANUP]) -AT_CHECK([RUN_OVS_VSCTL([list b br])], - [1], [], [ovs-vsctl: multiple rows in Bridge match "br" -], [OVS_VSCTL_CLEANUP]) AT_CHECK([RUN_OVS_VSCTL([get b br0 d])], [1], [], [ovs-vsctl: Bridge contains more than one column whose name matches "d" ], [OVS_VSCTL_CLEANUP]) @@ -724,6 +668,12 @@ AT_CLEANUP AT_SETUP([database commands -- wait-until must wait]) AT_KEYWORDS([ovs-vsctl]) + +# Disable lcov for this test. All the programs running in parallel +# race badly on access to profiling data. +DISABLE_LCOV=true +export DISABLE_LCOV + OVS_VSCTL_SETUP # Start ovs-vsctls in background. @@ -735,7 +685,7 @@ OVS_VSCTL_SETUP # 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]) +AT_CHECK([RUN_OVS_VSCTL([add-br br10 -- set bridge br10 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]) @@ -755,6 +705,55 @@ AT_CHECK([cat stdout4], [0], [500 OVS_VSCTL_CLEANUP AT_CLEANUP +AT_SETUP([--id option on create, get commands]) +AT_KEYWORDS([ovs-vsctl]) +OVS_VSCTL_SETUP +AT_CHECK([RUN_OVS_VSCTL([add-br br0], + [add-port br0 eth0], + [add-port br0 eth1])]) +AT_CHECK( + [RUN_OVS_VSCTL_TOGETHER( + [set bridge br0 mirrors=@m], + [--id=@eth0 get port eth0], + [--id=@eth1 get port eth1], + [--id=@m create mirror name=mymirror select-dst-port=@eth0 select-src-port=@eth0 output-port=@eth1])], + [0], [stdout], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK( + [perl $srcdir/uuidfilt.pl stdout], [0], [dnl + + + +<0> +], + [], [OVS_VSCTL_CLEANUP]) +AT_CHECK( + [RUN_OVS_VSCTL( + [list port eth0 eth1], + [list mirror], + [list bridge br0])], + [0], [stdout], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK( + [sed -n -e '/uuid/p' -e '/name/p' -e '/mirrors/p' -e '/select/p' -e '/output/p' < stdout | $srcdir/uuidfilt.pl], [0], [dnl +[_uuid : <0> +name : "eth0" +_uuid : <1> +name : "eth1" +_uuid : <2> +name : mymirror +output_port : <1> +output_vlan : [] +select_all : false +select_dst_port : [<0>] +select_src_port : [<0>] +select_vlan : [] +_uuid : <3> +mirrors : [<2>] +name : "br0" +]], + [], [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. @@ -770,6 +769,7 @@ controller : [] datapath_id : [] datapath_type : "" external_ids : {} +fail_mode : [] flood_vlans : [] mirrors : [] name : "br0"