Binary DropRateSearch
[csit.git] / tests / suites / performance / short_bridge_domain_binary.robot
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13 *** Settings ***
14 | Resource | resources/libraries/robot/default.robot
15 | Resource | resources/libraries/robot/interfaces.robot
16 | Resource | resources/libraries/robot/bridge_domain.robot
17 | Resource | resources/libraries/robot/performance.robot
18 | Resource | resources/libraries/robot/counters.robot
19 | Library | resources.libraries.python.TrafficGenerator
20 | Library | resources.libraries.python.TrafficGenerator.TGDropRateSearchImpl
21 | Library | resources.libraries.python.NodePath
22 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
23 | Suite Setup | 3-node Performance Suite Setup
24 | Suite Teardown | 3-node Performance Suite Teardown
25 | Test Setup | Setup all DUTs before test
26 | Test Teardown  | Run Keyword If Test Failed | Show statistics on all DUTs
27
28 *** Test Cases ***
29 | Find NDR by using binary search and 64B frames through bridge domain in 3-node topology
30 | | Given L2 bridge domain initialized in a 3-node circular topology
31 | | Then Find NDR using binary search and pps | 64 | 100000 | 14000000
32 | | ...                                       | 3-node-bridge | 100000 | 14000000
33
34 *** Keywords ***
35
36 | 3-node Performance Suite Setup
37 | | 3-node circular Topology Variables Setup
38 | | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2}
39 | | ...                          | ${dut1} | ${dut1_if1} | ${dut1_if2}
40 | | ...                          | ${dut2} | ${dut2_if1} | ${dut2_if2}
41 | | ...                          | L2
42
43 | 3-node Performance Suite Teardown
44 | | Teardown traffic generator | ${tg}
45
46 | L2 bridge domain initialized in a 3-node circular topology
47 | | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
48 | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
49 | | All Vpp Interfaces Ready Wait | ${nodes}
50
51 | Find NDR using binary search and pps
52 | | [Arguments] | ${framesize} | ${binary_min} | ${binary_max}
53 | | ...         | ${topology_type} | ${min_rate} | ${max_rate}
54 | | Set Duration | 10
55 | | Set Search Rate Boundaries | ${max_rate} | ${min_rate}
56 | | Set Search Rate Type pps
57 | | Set Binary Convergence Threshold | 50000
58 | | Binary Search | ${binary_min} | ${binary_max} | ${topology_type}
59 | | ${result_rate}= | Verify Search Result
60 | | Set Test Message | FINAL_RATE: ${result_rate} pps
61
62 | Show statistics on all DUTs
63 | | Sleep | 10 | Waiting for statistics to be collected
64 | | Vpp show stats | ${dut1}
65 | | Vpp show stats | ${dut2}