X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fovs-vsctl.at;h=b0c1026737b922e7fd844725902862d8fd9b8181;hb=16472256190e083258bfcf6a4ba4f74cb412fcd4;hp=061a4f48071e55e814079bc37e57ac2749eed939;hpb=7454ec7a7494039ad339af5c0825fcc856bc6ffb;p=openvswitch diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at index 061a4f48..b0c10267 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], ...) @@ -301,7 +301,7 @@ AT_CLEANUP AT_SETUP([external IDs]) AT_KEYWORDS([ovs-vsctl]) OVS_VSCTL_SETUP -AT_CHECK([RUN_OVS_VSCTL_TOGETHER( +AT_CHECK([RUN_OVS_VSCTL_ONELINE( [add-br a], [add-port a a1], [add-bond a bond0 a2 a3], @@ -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 @@ -558,6 +503,32 @@ CHECK_BRIDGES OVS_VSCTL_CLEANUP AT_CLEANUP +dnl ---------------------------------------------------------------------- +AT_BANNER([ovs-vsctl unit tests -- manager commands]) + +AT_SETUP([managers]) +AT_KEYWORDS([manager ovs-vsctl]) +OVS_VSCTL_SETUP +AT_CHECK([RUN_OVS_VSCTL_TOGETHER( + [del-manager], + [get-manager], + [set-manager tcp:4.5.6.7], + [get-manager], + [set-manager tcp:8.9.10.11 tcp:5.4.3.2], + [get-manager], + [del-manager], + [get-manager])], [0], [ + + +tcp:4.5.6.7 + +tcp:5.4.3.2\ntcp:8.9.10.11 + + +], [], [OVS_VSCTL_CLEANUP]) +OVS_VSCTL_CLEANUP +AT_CLEANUP + dnl ---------------------------------------------------------------------- AT_BANNER([ovs-vsctl unit tests -- database commands]) @@ -577,6 +548,7 @@ controller : [] datapath_id : [] datapath_type : "" external_ids : {} +fail_mode : [] flood_vlans : [] mirrors : [] name : "br0" @@ -586,6 +558,30 @@ ports : [] sflow : [] <0> ]], [ignore], [test ! -e pid || kill `cat pid`]) +AT_CHECK( + [RUN_OVS_VSCTL([--columns=fail_mode,name,datapath_type list b])], + [0], + [[fail_mode : [] +name : "br0" +datapath_type : "" +]], [ignore], [test ! -e pid || kill `cat pid`]) +AT_CHECK( + [RUN_OVS_VSCTL([--columns=fail_mode,name,datapath_type find b])], + [0], + [[fail_mode : [] +name : "br0" +datapath_type : "" +]], [ignore], [test ! -e pid || kill `cat pid`]) +AT_CHECK([RUN_OVS_VSCTL([create b name=br1 datapath_type="foo"], + [create b name=br2 external-ids:bar=quux])], + [0], [stdout], [], [OVS_VSCTL_CLEANUP]) +AT_CHECK( + [RUN_OVS_VSCTL([--columns=name find b datapath_type!=foo])], [0], [stdout], + [ignore], [test ! -e pid || kill `cat pid`]) +AT_CHECK([sed -n '/./p' stdout | sort], [0], + [[name : "br0" +name : "br2" +]]) AT_CHECK( [RUN_OVS_VSCTL( [set bridge br0 \ @@ -610,7 +606,9 @@ AT_CHECK([RUN_OVS_VSCTL([remove br br0 other_config 'datapath_id="0123456789ab"' AT_CHECK([RUN_OVS_VSCTL([clear br br0 external-ids -- get br br0 external_ids])], [0], [{} ], [], [OVS_VSCTL_CLEANUP]) -AT_CHECK([RUN_OVS_VSCTL([destroy b br0])], +AT_CHECK([RUN_OVS_VSCTL_TOGETHER([destroy b br0], + [destroy b br1], + [destroy b br2])], [0], [stdout], [], [OVS_VSCTL_CLEANUP]) AT_CHECK([RUN_OVS_VSCTL([list b])], [0], [], [], [OVS_VSCTL_CLEANUP]) @@ -638,6 +636,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])], @@ -708,7 +707,7 @@ AT_CHECK([RUN_OVS_VSCTL( [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=[]]])], +AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . manager_options=[]]])], [0], [], [], [OVS_VSCTL_CLEANUP]) AT_CHECK([RUN_OVS_VSCTL([[wait-until Open_vSwitch . bridges!=[]]])], [0], [], [], [OVS_VSCTL_CLEANUP]) @@ -758,6 +757,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. @@ -773,6 +821,7 @@ controller : [] datapath_id : [] datapath_type : "" external_ids : {} +fail_mode : [] flood_vlans : [] mirrors : [] name : "br0"