T-REX: startup config generation
[csit.git] / tests / suites / performance / short.robot
index 3d29485..4273b9b 100644 (file)
 | Resource | resources/libraries/robot/interfaces.robot
 | Resource | resources/libraries/robot/bridge_domain.robot
 | Resource | resources/libraries/robot/ipv4.robot
-| Library | resources/libraries/python/TrafficGenerator.py
-| Library | resources/libraries/python/CrossConnectSetup.py
-| Force Tags | topo-3node
+| Resource | resources/libraries/robot/l2_xconnect.robot
+| Resource | resources/libraries/robot/counters.robot
+| Library | resources.libraries.python.TrafficGenerator
+| Library | resources.libraries.python.NodePath
+| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV
+| Suite Setup | 3-node Performance Suite Setup
+| Suite Teardown | 3-node Performance Suite Teardown
 | Test Setup | Setup all DUTs before test
-| Suite Setup | Initialize traffic generator | ${nodes['TG']}
-| ... | ${nodes['TG']['interfaces']['port3']['pci_address']}
-| ... | ${nodes['TG']['interfaces']['port5']['pci_address']}
-| Suite Teardown | Teardown traffic generator | ${nodes['TG']}
+| Test Teardown  | Run Keyword If Test Failed | Show statistics on all DUTs
 
 *** Test Cases ***
-| VPP passes 64B frames through L2 cross connect at 30% of linerate in 3-node-topology
-| | Given L2 xconnect initialized in a 3-node topology
-| | Then Traffic should pass with no loss | 10 | 30 | 64 | 3-node-xconnect
+| 2core VPP passes 64B frames through L2 cross connect at 3.5mpps in 3-node topology
+| | Given L2 xconnect initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-xconnect
 
-| VPP passes 1518B frames through L2 cross connect at 100% of linerate in 3-node-topology
-| | Given L2 xconnect initialized in a 3-node topology
-| | Then Traffic should pass with no loss | 10 | 100 | 1518 | 3-node-xconnect
+| 2core VPP passes 1518B frames through L2 cross connect at 10gbps in 3-node topology
+| | Given L2 xconnect initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-xconnect
 
-| VPP passes 9000B frames through L2 cross connect at 100% of linerate in 3-node-topology
-| | Given L2 xconnect initialized in a 3-node topology
-| | Then Traffic should pass with no loss | 10 | 100 | 9000 | 3-node-xconnect
+| 2core VPP passes 9000B frames through L2 cross connect at 10gbps in 3-node topology
+| | Given L2 xconnect initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-xconnect
 
-| VPP passes 64B frames through bridge domain at 30% in 3-node topology
-| | Given L2 bridge domain initialized in a 3-node topology
-| | Then Traffic should pass with no loss | 10 | 30 | 64 | 3-node-bridge
+| 2core VPP passes 64B frames through bridge domain at 3.5mpps in 3-node topology
+| | Given L2 bridge domain initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-bridge
 
-| VPP passes 1518B frames through bridge domain at 100% in 3-node topology
-| | Given L2 bridge domain initialized in a 3-node topology
-| | Then Traffic should pass with no loss | 10 | 100 | 1518 | 3-node-bridge
+| 2core VPP passes 1518B frames through bridge domain at 10gbps in 3-node topology
+| | Given L2 bridge domain initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-bridge
 
-| VPP passes 9000B frames through bridge domain at 100% in 3-node topology
-| | Given L2 bridge domain initialized in a 3-node topology
-| | Then Traffic should pass with no loss | 10 | 100 | 9000 | 3-node-bridge
+| 2core VPP passes 9000B frames through bridge domain at 10gbps in 3-node topology
+| | Given L2 bridge domain initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-bridge
 
-#| VPP passes 64B frames through IPv4 forwarding at 30% in 3-node topology
+#| VPP passes 64B frames through IPv4 forwarding at 3.5mpps in 3-node topology
 #| | Given IPv4 forwarding initialized in a 3-node topology
-#| | Then Traffic should pass with no loss | 10 | 30 | 64 | 3-node-IPv4
+#| | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-IPv4
 
 #| VPP passes 1518B frames through IPv4 forwarding at 100% in 3-node topology
 #| | Given IPv4 forwarding initialized in a 3-node topology
 
 *** Keywords ***
 
-
-| L2 xconnect initialized in a 3-node topology
-| | Interfaces on DUT are in "up" state
-| | L2 setup xconnect on DUTs
-
-| L2 setup xconnect on DUTs
-| | Vpp Setup Bidirectional Cross Connect | ${nodes['DUT1']}
-| | ... | ${nodes['DUT1']['interfaces']['port1']['name']}
-| | ... | ${nodes['DUT1']['interfaces']['port3']['name']}
-| | Vpp Setup Bidirectional Cross Connect | ${nodes['DUT2']}
-| | ... | ${nodes['DUT2']['interfaces']['port1']['name']}
-| | ... | ${nodes['DUT2']['interfaces']['port3']['name']}
-
-| L2 bridge domain initialized in a 3-node topology
-| | ${tg}= | Set Variable | ${nodes['TG']}
-| | ${dut1}= | Set Variable | ${nodes['DUT1']}
-| | ${dut2}= | Set Variable | ${nodes['DUT2']}
-| | ${tg_links}= | bridge_domain.Setup TG "${tg}" DUT1 "${dut1}" And DUT2 "${dut2}" For 3 Node L2 Bridge Domain Test
+| 3-node Topology Variables Setup
+| | 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
+| | Set Suite Variable | ${tg}
+| | Set Suite Variable | ${tg_if1}
+| | Set Suite Variable | ${tg_if2}
+| | Set Suite Variable | ${dut1}
+| | Set Suite Variable | ${dut1_if1}
+| | Set Suite Variable | ${dut1_if2}
+| | Set Suite Variable | ${dut2}
+| | Set Suite Variable | ${dut2_if1}
+| | Set Suite Variable | ${dut2_if2}
+
+| 3-node Performance Suite Setup
+| | 3-node Topology Variables Setup
+| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} | L2
+
+| 3-node Performance Suite Teardown
+| | Teardown traffic generator | ${tg}
 
 | IPv4 forwarding initialized in a 3-node topology
-| | Setup DUT nodes for IPv4 testing
+| | Setup nodes for IPv4 testing
 
-| Interfaces on DUT are in "${state}" state
-| | Node "${nodes['DUT1']}" interface "${nodes['DUT1']['interfaces']['port1']['name']}" is in "${state}" state
-| | Node "${nodes['DUT1']}" interface "${nodes['DUT1']['interfaces']['port3']['name']}" is in "${state}" state
-| | Node "${nodes['DUT2']}" interface "${nodes['DUT2']['interfaces']['port1']['name']}" is in "${state}" state
-| | Node "${nodes['DUT2']}" interface "${nodes['DUT2']['interfaces']['port3']['name']}" is in "${state}" state
+| L2 bridge domain initialized in a 3-node circular topology
+| | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
+| | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
+| | Sleep | 10 | Wait for interfaces initialization
+
+| L2 xconnect initialized in a 3-node circular topology
+| | L2 setup xconnect on DUT | ${dut1} | ${dut1_if1} | ${dut1_if2}
+| | L2 setup xconnect on DUT | ${dut2} | ${dut2_if1} | ${dut2_if2}
+| | Sleep | 10 | Wait for interfaces initialization
 
 | Traffic should pass with no loss
 | | [Arguments] | ${duration} | ${rate} | ${framesize} | ${topology_type}
 | | Send traffic on | ${nodes} | ${duration}
 | | ...             | ${rate} | ${framesize} | ${topology_type}
 | | No traffic loss occured
+
+| Show statistics on all DUTs
+| | Sleep | 10 | Waiting for statistics to be collected
+| | Vpp show stats | ${dut1}
+| | Vpp show stats | ${dut2}