X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fovs-vsctl.at;h=85812c4483e6d5f2dac81045cfae11e8f64ba55c;hb=e3e9370bf9ee0fde67b3d94acf119cec5dc3701d;hp=834ecc6c9da1998389c486c61853d1710bcf8a02;hpb=2792c2ad6d2483f5114ef9a96049742afb042181;p=sliver-openvswitch.git diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at index 834ecc6c9..85812c448 100644 --- a/tests/ovs-vsctl.at +++ b/tests/ovs-vsctl.at @@ -7,6 +7,15 @@ m4_define([RUN_OVS_VSCTL], m4_foreach([command], [$@], [ovs-vsctl --no-reload --config=conf command ])]) +dnl RUN_OVS_VSCTL_TOGETHER(COMMAND, ...) +dnl +dnl Executes each ovs-vsctl COMMAND on a file named "conf" in the +dnl current directory, in a single run of ovs-vsctl. Creates "conf" if it +dnl does not already exist. +m4_define([RUN_OVS_VSCTL_TOGETHER], + [: >> conf + ovs-vsctl --no-reload --config=conf m4_join([ -- ], $@)]) + dnl CHECK_BRIDGES([BRIDGE, PARENT, VLAN], ...) dnl dnl Verifies that "ovs-vsctl list-br" prints the specified list of bridges, @@ -24,6 +33,12 @@ m4_define([_CHECK_BRIDGE], # an integer instead of a string and that can cause type mismatches inside # python if not done carefully.) AT_CHECK([RUN_OVS_VSCTL([--oneline br-to-vlan $1])], [0], [$3 +]) + + # Check multiple queries in a single run. + AT_CHECK([RUN_OVS_VSCTL_TOGETHER([br-to-parent $1], [br-to-vlan $1])], [0], +[$2 +$3 ])]) m4_define([CHECK_BRIDGES], [dnl Check that the bridges appear on list-br, without --oneline. @@ -109,6 +124,14 @@ CHECK_PORTS([a]) CHECK_IFACES([a]) AT_CLEANUP +AT_SETUP([add-br a, add-br a]) +AT_KEYWORDS([ovs-vsctl]) +AT_CHECK([RUN_OVS_VSCTL([add-br a])]) +AT_CHECK([RUN_OVS_VSCTL([add-br a])], [1], [], + [ovs-vsctl: cannot create a bridge named a because a bridge named a already exists +]) +AT_CLEANUP + AT_SETUP([add-br a, add-br b]) AT_KEYWORDS([ovs-vsctl]) AT_CHECK([RUN_OVS_VSCTL([add-br a], [add-br b])]) @@ -150,9 +173,23 @@ CHECK_PORTS([a], [a1], [a2]) CHECK_IFACES([a], [a1], [a2]) AT_CLEANUP -AT_SETUP([add-br a b, add-port a a1, add-port b b1, del-br a]) +AT_SETUP([add-br a, add-port a a1, add-port a a1]) AT_KEYWORDS([ovs-vsctl]) AT_CHECK([RUN_OVS_VSCTL( + [add-br a], + [add-port a a1])]) +AT_CHECK([cat conf], [0], + [bridge.a.port=a +bridge.a.port=a1 +]) +AT_CHECK([RUN_OVS_VSCTL([add-port a a1])], [1], [], + [ovs-vsctl: cannot create a port named a1 because a port named a1 already exists on bridge a +]) +AT_CLEANUP + +AT_SETUP([add-br a b, add-port a a1, add-port b b1, del-br a]) +AT_KEYWORDS([ovs-vsctl]) +AT_CHECK([RUN_OVS_VSCTL_TOGETHER( [add-br a], [add-br b], [add-port a a1], @@ -206,7 +243,7 @@ AT_CLEANUP AT_SETUP([add-br a, add-bond a bond0 a1 a2 a3, del-port bond0]) AT_KEYWORDS([ovs-vsctl]) -AT_CHECK([RUN_OVS_VSCTL( +AT_CHECK([RUN_OVS_VSCTL_TOGETHER( [add-br a], [add-bond a bond0 a1 a2 a3], [del-port bond0])]) @@ -298,7 +335,8 @@ AT_CLEANUP AT_SETUP([fake bridge on bond + del-br fake bridge]) AT_KEYWORDS([ovs-vsctl fake-bridge]) AT_DATA([conf], [BOND_FAKE_CONF]) -AT_CHECK([RUN_OVS_VSCTL([del-br xapi2])]) +AT_CHECK([RUN_OVS_VSCTL([--oneline del-br xapi2])], [0], [ +]) CHECK_BRIDGES([xapi1, xapi1, 0]) CHECK_PORTS([xapi1], [bond0]) CHECK_IFACES([xapi1], [eth0], [eth1])