X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=tests%2Fsuites%2Fperformance%2Fshort.robot;h=4273b9b527d4235c0f3742aff197f54664bc6ccc;hb=refs%2Fchanges%2F36%2F436%2F1;hp=15143778ab0caad27ec000500aa16ec59a9b7ac3;hpb=8f285166faf13156a4f7c70adac9a7e20549268f;p=csit.git diff --git a/tests/suites/performance/short.robot b/tests/suites/performance/short.robot index 15143778ab..4273b9b527 100644 --- a/tests/suites/performance/short.robot +++ b/tests/suites/performance/short.robot @@ -15,43 +15,44 @@ | 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 | PERFTEST +| 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 @@ -64,36 +65,53 @@ *** 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}