summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
2a3181f)
- update test suite numbering to be future-proof
- reorder suite execution:
- persistence suite should always run last
- l2_fib suite follows after l2
- VxLAN gpe suite follows after VxLAN
- fix issue with interface name vs. index introduced in change #1032
- change ${node} variable to global scope, set in _init_.robot
Change-Id: Ib4ca7265586026faab219da9923e7ca312ef2c79
Signed-off-by: selias <samelias@cisco.com>
13 files changed:
| | ... | \| GigabitEthernet0/9/0 \| ${{split_horizon_group:2, bvi:False}} \|
| | [Arguments] | ${node} | ${index} | ${interface1} | ${interface2}
| | ... | ${settings}
| | ... | \| GigabitEthernet0/9/0 \| ${{split_horizon_group:2, bvi:False}} \|
| | [Arguments] | ${node} | ${index} | ${interface1} | ${interface2}
| | ... | ${settings}
-| | ${if1_index}= | Get interface sw index | ${node} | ${interface1}
-| | ${if2_index}= | Get interface sw index | ${node} | ${interface2}
-| | ${if_indices}= | Create list | ${if1_index} | ${if2_index}
+| | ${if1_link}= | Get interface by name | ${node} | ${interface1}
+| | ${if2_link}= | Get interface by name | ${node} | ${interface2}
+| | ${if_indices}= | Create list
+| | ... | ${node['interfaces']['${if1_link}']['vpp_sw_index']}
+| | ... | ${node['interfaces']['${if2_link}']['vpp_sw_index']}
| | ${bd_data}= | VPP get bridge domain data | ${node}
| | ${bd_interfaces}= | Set Variable | ${bd_data[${index}]['sw_if']}
| | @{bd_interfaces}= | Create List | ${bd_interfaces[0]} | ${bd_interfaces[1]}
| | ${bd_data}= | VPP get bridge domain data | ${node}
| | ${bd_interfaces}= | Set Variable | ${bd_data[${index}]['sw_if']}
| | @{bd_interfaces}= | Create List | ${bd_interfaces[0]} | ${bd_interfaces[1]}
| | ... | \| up \|
| | [Arguments] | ${node} | ${interface} | ${state}
| | interfaceCLI.Set interface state | ${node} | ${interface} | ${state}
| | ... | \| up \|
| | [Arguments] | ${node} | ${interface} | ${state}
| | interfaceCLI.Set interface state | ${node} | ${interface} | ${state}
| Honeycomb sets interface state
| | [Documentation] | Uses Honeycomb API to change the admin state\
| Honeycomb sets interface state
| | [Documentation] | Uses Honeycomb API to change the admin state\
| | Should be equal | ${prefix}
| | ... | ${api_data['ietf-ip:ipv4']['address'][0]['prefix-length']}
| | Should be equal | ${fib_address}
| | Should be equal | ${prefix}
| | ... | ${api_data['ietf-ip:ipv4']['address'][0]['prefix-length']}
| | Should be equal | ${fib_address}
-| | ... | ${api_data['ietf-ip:ipv4']['neighbor'][0]['ip']
+| | ... | ${api_data['ietf-ip:ipv4']['neighbor'][0]['ip']}
| | Should be equal | ${fib_mac}
| | Should be equal | ${fib_mac}
-| | ... | ${api_data['ietf-ip:ipv4']['neighbor'][0]['link-layer-address']
+| | ... | ${api_data['ietf-ip:ipv4']['neighbor'][0]['link-layer-address']}
| | :FOR | ${key} | IN | @{settings.keys()}
| | | Should be equal
| | | ... | ${settings['{key']} | ${api_data['ietf-ip:ipv4']['{$key}']}
| | :FOR | ${key} | IN | @{settings.keys()}
| | | Should be equal
| | | ... | ${settings['{key']} | ${api_data['ietf-ip:ipv4']['{$key}']}
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-# Node and interface to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interface to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
# Configuration which will be set and verified during tests.
| ${ipv4_address}= | 192.168.0.2
| ${interface}= | ${node['interfaces']['port1']['name']}
# Configuration which will be set and verified during tests.
| ${ipv4_address}= | 192.168.0.2
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-# Node and interfaces to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interfaces to run tests on.
| @{interfaces}= | ${node['interfaces']['port1']['name']}
| ... | ${node['interfaces']['port3']['name']}
# Configuration which will be set and verified during tests.
| @{interfaces}= | ${node['interfaces']['port1']['name']}
| ... | ${node['interfaces']['port3']['name']}
# Configuration which will be set and verified during tests.
| Force tags | honeycomb_sanity
*** Variables ***
| Force tags | honeycomb_sanity
*** Variables ***
-# Node and interface used in tests.
-| ${node}= | ${nodes['DUT1']}
-| ${interface}= | GigabitEthernet0/8/0
+# Interface to run tests on.
+| ${interface}= | ${node['interfaces']['port1']['name']}
*** Test Cases ***
| Honeycomb adds L2 FIB entry (forward)
*** Test Cases ***
| Honeycomb adds L2 FIB entry (forward)
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-# Node and interfaces to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interfaces to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${vx_interface}= | vx_tunnel_test
# Configuration which will be set and verified during tests.
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${vx_interface}= | vx_tunnel_test
# Configuration which will be set and verified during tests.
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-# Node and interfaces to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interface to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
# Parameters to be set on existing interface
| ${interface}= | ${node['interfaces']['port1']['name']}
# Parameters to be set on existing interface
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-# Node and interfaces to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interfaces to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${tap_interface}= | tap_test
# Configuration which will be set and verified during tests.
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${tap_interface}= | tap_test
# Configuration which will be set and verified during tests.
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-| ${node}= | ${nodes['DUT1']}
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${vhost_interface}= | test_vhost
| &{vhost_user_server}= | socket=soc1 | role=server
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${vhost_interface}= | test_vhost
| &{vhost_user_server}= | socket=soc1 | role=server
| ... | delete a sub-interface.
*** Variables ***
| ... | delete a sub-interface.
*** Variables ***
-| ${node}= | ${nodes['DUT1']}
-
# Test interface 1 and its sub-interface parameters:
| ${super_if}= | ${node['interfaces']['port1']['name']}
| ${sub_if_id}= | ${sub_if_1_settings['identifier']}
# Test interface 1 and its sub-interface parameters:
| ${super_if}= | ${node['interfaces']['port1']['name']}
| ${sub_if_id}= | ${sub_if_1_settings['identifier']}
| Honycomb creates sub-interface
| | [Documentation] | Check if Honeycomb creates a sub-interface.
| | ...
| Honycomb creates sub-interface
| | [Documentation] | Check if Honeycomb creates a sub-interface.
| | ...
-| | Given sub-interface configuration from Honeycomb should be empty
+| | Given interface state is | ${node} | ${super_if} | down
+| | And sub-interface configuration from Honeycomb should be empty
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | And interface configuration from VAT should be empty
| | ... | ${node} | ${sub_if_name}
| | ... | ${node} | ${super_if} | ${sub_if_id}
| | And interface configuration from VAT should be empty
| | ... | ${node} | ${sub_if_name}
# limitations under the License.
*** Variables ***
# limitations under the License.
*** Variables ***
-# Node and interfaces to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interfaces to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${tap_interface}= | tap_test
| &{tap_settings}= | tap-name=tap_test | mac=08:00:27:c0:5d:37
| ${interface}= | ${node['interfaces']['port1']['name']}
| ${tap_interface}= | tap_test
| &{tap_settings}= | tap-name=tap_test | mac=08:00:27:c0:5d:37
# limitations under the License.
*** Variables***
# limitations under the License.
*** Variables***
-# Node and interface to run tests on.
-| ${node}= | ${nodes['DUT1']}
+# Interface to run tests on.
| ${interface}= | ${node['interfaces']['port1']['name']}
*** Settings ***
| ${interface}= | ${node['interfaces']['port1']['name']}
*** Settings ***
# limitations under the License.
*** Variables***
# limitations under the License.
*** Variables***
+# Honeycomb node to run tests on.
| ${node}= | ${nodes['DUT1']}
*** Settings ***
| ${node}= | ${nodes['DUT1']}
*** Settings ***
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Suite Setup | Run keywords | Setup all DUTs before test | AND
| ... | Clear persisted Honeycomb configuration | ${node} | AND
| Resource | resources/libraries/robot/honeycomb/honeycomb.robot
| Suite Setup | Run keywords | Setup all DUTs before test | AND
| ... | Clear persisted Honeycomb configuration | ${node} | AND
-| ... | Setup Honeycomb service on DUTs | ${node}
+| ... | Setup Honeycomb service on DUTs | ${node} | AND
+| ... | Set Global Variable | ${node}
| Suite Teardown | Stop Honeycomb service on DUTs | ${node}
| Suite Teardown | Stop Honeycomb service on DUTs | ${node}