aboutsummaryrefslogtreecommitdiffstats
path: root/tests/suites
diff options
context:
space:
mode:
authorJan Gelety <jgelety@cisco.com>2016-04-19 00:07:13 +0200
committerStefan Kobza <skobza@cisco.com>2016-04-22 14:58:14 +0000
commit4a7f950c10ca9bcf86e5ccbc3d49a3d7e3cb9809 (patch)
treeff0181ea36fd5760240c299f74e2412f16bc5926 /tests/suites
parent87ec18ad91a63e7925005057ccbb7a7570347376 (diff)
Bridge domain tests and user keywords refactor.
- BD tests changed to behavior-driven-test style - added documentation to BD tests - added documentation and examples to BD user KWs Change-Id: Ifad45df3ef0bb55f5295363a264fe5f4e54f5762 Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'tests/suites')
-rw-r--r--tests/suites/bridge_domain/bridge_domain_untagged.robot120
-rw-r--r--tests/suites/bridge_domain/test.robot71
2 files changed, 120 insertions, 71 deletions
diff --git a/tests/suites/bridge_domain/bridge_domain_untagged.robot b/tests/suites/bridge_domain/bridge_domain_untagged.robot
new file mode 100644
index 0000000000..badc7a6671
--- /dev/null
+++ b/tests/suites/bridge_domain/bridge_domain_untagged.robot
@@ -0,0 +1,120 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+*** Settings ***
+| Resource | resources/libraries/robot/default.robot
+| Resource | resources/libraries/robot/bridge_domain.robot
+| Library | resources.libraries.python.Trace
+| Force Tags | HW_ENV | VM_ENV
+| Test Setup | Run Keywords | Setup all DUTs before test
+| ... | AND | Setup all TGs before traffic script
+| Test Teardown | Show Packet Trace on All DUTs | ${nodes}
+| Documentation | *Bridge domain test suite.*
+| ...
+| ... | Test suite uses 2-node topology TGTG - DUT1 - TG with two links
+| ... | between nodes as well as 3-node topology TG - DUT1 - DUT2 - TG
+| ... | with one link between nodes. Test packets are sent in both directions
+| ... | and contain Ethernet header, IPv4 header and ICMP message. Ethernet
+| ... | header MAC addresses are matching MAC addresses of the TG node.
+
+*** Variables ***
+| ${bd_id1} = | 1
+| ${bd_id2} = | 2
+
+*** Test Cases ***
+| VPP reports interfaces
+| | [Documentation] | Report VPP interfaces on the given node
+| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
+| | VPP reports interfaces on | ${nodes['DUT1']}
+
+| Vpp forwards packets via L2 bridge domain 2 ports
+| | [Documentation] | Create bridge domain (learning enabled) on one VPP node,
+| | ... | add there two interfaces and check traffic
+| | ... | bidirectionally.
+| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO
+| | Given Path for 2-node BD testing is set | ${nodes['TG']} | ${nodes['DUT1']}
+| | When Bridge domain on DUT node is created | ${dut_node} | ${bd_id1}
+| | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if1}
+| | ... | ${bd_id1}
+| | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if2}
+| | ... | ${bd_id1}
+| | And Interfaces on all VPP nodes in the path are up | ${dut_node}
+| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
+| | ... | ${tg_to_dut_if2}
+
+| Vpp forwards packets via L2 bridge domain in circular topology
+| | [Documentation] | Create bridge domains (learning enabled) on two VPP nodes,
+| | ... | add two interfaces to each bridge domain and check traffic
+| | ... | bidirectionally.
+| | [Tags] | 3_NODE_SINGLE_LINK_TOPO
+| | Given Path for 3-node BD testing is set | ${nodes['TG']} | ${nodes['DUT1']}
+| | ... | ${nodes['DUT2']}
+| | When Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1}
+| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg}
+| | ... | ${bd_id1}
+| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_dut2}
+| | ... | ${bd_id1}
+| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2}
+| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg}
+| | ... | ${bd_id2}
+| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_dut1}
+| | ... | ${bd_id2}
+| | And Interfaces on all VPP nodes in the path are up | ${dut1_node}
+| | ... | ${dut2_node}
+| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut1}
+| | ... | ${tg_to_dut2}
+
+| Vpp forwards packets via L2 bridge domain in circular topology with static L2FIB entries
+| | [Documentation] | Create bridge domains (learning disabled) on two VPP
+| | ... | nodes, add two interfaces to each bridge domain and set
+| | ... | static L2FIB entry on each interface and check traffic
+| | ... | bidirectionally.
+| | [Tags] | 3_NODE_SINGLE_LINK_TOPO
+| | Given Path for 3-node BD testing is set | ${nodes['TG']} | ${nodes['DUT1']}
+| | ... | ${nodes['DUT2']}
+| | When Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1}
+| | ... | learn=${FALSE}
+| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg}
+| | ... | ${bd_id1}
+| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_dut2}
+| | ... | ${bd_id1}
+| | And Destination port is added to L2FIB on DUT node | ${tg_node}
+| | ... | ${tg_to_dut1}
+| | ... | ${dut1_node}
+| | ... | ${dut1_to_tg}
+| | ... | ${bd_id1}
+| | And Destination port is added to L2FIB on DUT node | ${tg_node}
+| | ... | ${tg_to_dut2}
+| | ... | ${dut1_node}
+| | ... | ${dut1_to_dut2}
+| | ... | ${bd_id1}
+| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2}
+| | ... | learn=${FALSE}
+| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg}
+| | ... | ${bd_id2}
+| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_dut1}
+| | ... | ${bd_id2}
+| | And Destination port is added to L2FIB on DUT node | ${tg_node}
+| | ... | ${tg_to_dut1}
+| | ... | ${dut2_node}
+| | ... | ${dut2_to_dut1}
+| | ... | ${bd_id2}
+| | And Destination port is added to L2FIB on DUT node | ${tg_node}
+| | ... | ${tg_to_dut2}
+| | ... | ${dut2_node}
+| | ... | ${dut2_to_tg}
+| | ... | ${bd_id2}
+| | And Interfaces on all VPP nodes in the path are up | ${dut1_node}
+| | ... | ${dut2_node}
+| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut1}
+| | ... | ${tg_to_dut2}
diff --git a/tests/suites/bridge_domain/test.robot b/tests/suites/bridge_domain/test.robot
deleted file mode 100644
index a2cf0c0ce3..0000000000
--- a/tests/suites/bridge_domain/test.robot
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/default.robot
-| Resource | resources/libraries/robot/interfaces.robot
-| Resource | resources/libraries/robot/bridge_domain.robot
-| Resource | resources/libraries/robot/l2_traffic.robot
-| Library | resources.libraries.python.NodePath
-| Force Tags | HW_ENV | VM_ENV
-| Suite Setup | Setup all TGs before traffic script
-| Test Setup | Setup all DUTs before test
-
-*** Test Cases ***
-| VPP reports interfaces
-| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
-| | VPP reports interfaces on | ${nodes['DUT1']}
-
-| Vpp forwards packets via L2 bridge domain 2 ports
-| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO
-| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
-| | Compute Path | always_same_link=${FALSE}
-| | ${tg_if1} | ${tmp}= | First Interface
-| | ${tg_if2} | ${tmp}= | Last Interface
-| | ${bd_if1} | ${tmp}= | First Ingress Interface
-| | ${bd_if2} | ${tmp}= | Last Egress Interface
-| | Vpp l2bd forwarding setup | ${nodes['DUT1']} | ${bd_if1} | ${bd_if2}
-| | Send and receive ICMPv4 bidirectionally | ${nodes['TG']} | ${tg_if1} | ${tg_if2}
-
-| Vpp forwards packets via L2 bridge domain in circular topology
-| | [Tags] | 3_NODE_SINGLE_LINK_TOPO
-| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
-| | ... | ${nodes['TG']}
-| | Compute Path
-| | ${tg_if1} | ${tg}= | Next Interface
-| | ${dut1_if1} | ${dut1}= | Next Interface
-| | ${dut1_if2} | ${dut1}= | Next Interface
-| | ${dut2_if1} | ${dut2}= | Next Interface
-| | ${dut2_if2} | ${dut2}= | Next Interface
-| | ${tg_if2} | ${tg}= | Next Interface
-| | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
-| | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
-| | Send and receive ICMPv4 bidirectionally | ${tg} | ${tg_if1} | ${tg_if2}
-
-| Vpp forwards packets via L2 bridge domain in circular topology with static L2FIB entries
-| | [Tags] | 3_NODE_SINGLE_LINK_TOPO
-| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
-| | ... | ${nodes['TG']}
-| | Compute Path
-| | ${tg_if1} | ${tg}= | Next Interface
-| | ${dut1_if1} | ${dut1}= | Next Interface
-| | ${dut1_if2} | ${dut1}= | Next Interface
-| | ${dut2_if1} | ${dut2}= | Next Interface
-| | ${dut2_if2} | ${dut2}= | Next Interface
-| | ${tg_if2} | ${tg}= | Next Interface
-| | ${mac}= | Get Interface Mac | ${tg} | ${tg_if2}
-| | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2} | ${FALSE}
-| | ... | ${mac}
-| | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2} | ${FALSE}
-| | ... | ${mac}
-| | Send and receive ICMPv4 bidirectionally | ${tg} | ${tg_if1} | ${tg_if2}