X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Ftesting_path.robot;h=b7543e1c4dc76bcaba642b921df18927231c4ff6;hb=5ce772f3b2d83c31eda5c2abdcd6cc4547ecc6c8;hp=763b34e18a30cefc1d5f8a4302fb5ad4f7eb251b;hpb=7dbda72563912b656bde2ee4b4611a0b284b933e;p=csit.git diff --git a/resources/libraries/robot/testing_path.robot b/resources/libraries/robot/testing_path.robot index 763b34e18a..b7543e1c4d 100644 --- a/resources/libraries/robot/testing_path.robot +++ b/resources/libraries/robot/testing_path.robot @@ -16,7 +16,7 @@ | Library | resources.libraries.python.NodePath *** Keywords *** -| Path for 2-node testing is set +| Configure path in 2-node circular topology | | [Documentation] | Compute path for testing on two given nodes in circular | | ... | topology and set corresponding test case variables. | | ... @@ -43,7 +43,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Given Path for 2-node testing is set \| ${nodes['TG']} \ +| | ... | \| Given Configure path in 2-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| | | ... | | [Arguments] | ${tg_node} | ${dut_node} | ${tg2_node} @@ -69,7 +69,7 @@ | | Set Test Variable | ${tg_node} | | Set Test Variable | ${dut_node} -| Interfaces in 2-node path are up +| Set interfaces in 2-node circular topology up | | [Documentation] | Set UP state on interfaces in 2-node path on nodes and | | ... | wait for all interfaces are ready. Requires more than | | ... | one link between nodes. @@ -81,13 +81,13 @@ | | ... | - No value returned. | | ... | | ... | _NOTE:_ This KW uses test variables sets in -| | ... | "Path for 2-node testing is set" KW. +| | ... | "Configure path in 2-node circular topology" KW. | | ... | | ... | *Example:* | | ... -| | ... | \| Given Path for 2-node testing is set \| ${nodes['TG']} \ +| | ... | \| Given Configure path in 2-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| -| | ... | \| And Interfaces in 2-node path are up \| +| | ... | \| And Set interfaces in 2-node circular topology up \| | | ... | | Set Interface State | ${tg_node} | ${tg_to_dut_if1} | up | | Set Interface State | ${tg_node} | ${tg_to_dut_if2} | up @@ -95,7 +95,7 @@ | | Set Interface State | ${dut_node} | ${dut_to_tg_if2} | up | | Vpp Node Interfaces Ready Wait | ${dut_node} -| Path for 3-node testing is set +| Configure path in 3-node circular topology | | [Documentation] | Compute path for testing on three given nodes in circular | | ... | topology and set corresponding test case variables. | | ... @@ -128,7 +128,7 @@ | | ... | | ... | *Example:* | | ... -| | ... | \| Given Path for 3-node testing is set \| ${nodes['TG']} \ +| | ... | \| Given Configure path in 3-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \| ${nodes['TG']} \| | | ... | | [Arguments] | ${tg_node} | ${dut1_node} | ${dut2_node} | ${tg2_node} @@ -163,9 +163,10 @@ | | Set Test Variable | ${dut1_node} | | Set Test Variable | ${dut2_node} -| Interfaces in 3-node path are up -| | [Documentation] | Set UP state on interfaces in 3-node path on nodes and -| | ... | wait for all interfaces are ready. +| Set interfaces in 3-node circular topology up +| | [Documentation] +| | ... | Set UP state on interfaces in 3-node path on nodes and \ +| | ... | wait until all interfaces are ready. | | ... | | ... | *Arguments:* | | ... | - No arguments. @@ -174,13 +175,13 @@ | | ... | - No value returned. | | ... | | ... | _NOTE:_ This KW uses test variables sets in -| | ... | "Path for 3-node testing is set" KW. +| | ... | "Configure path in 3-node circular topology" KW. | | ... | | ... | *Example:* | | ... -| | ... | \| Given Path for 3-node testing is set \| ${nodes['TG']} \ +| | ... | \| Given Configure path in 3-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| -| | ... | \| And Interfaces in 3-node path are up \| +| | ... | \| And Set interfaces in 3-node circular topology up \| | | ... | | Set Interface State | ${tg_node} | ${tg_to_dut1} | up | | Set Interface State | ${tg_node} | ${tg_to_dut2} | up @@ -190,3 +191,163 @@ | | Set Interface State | ${dut2_node} | ${dut2_to_dut1} | up | | Vpp Node Interfaces Ready Wait | ${dut1_node} | | Vpp Node Interfaces Ready Wait | ${dut2_node} + +| Configure path in double-link 3-node circular topology +| | [Documentation] +| | ... | Compute path for testing on three given nodes in circular \ +| | ... | topology with double link and set corresponding \ +| | ... | test case variables. +| | ... +| | ... | *Arguments:* +| | ... | - ${tg_node} - TG node. Type: dictionary +| | ... | - ${dut1_node} - DUT1 node. Type: dictionary +| | ... | - ${dut2_node} - DUT2 node. Type: dictionary +| | ... | - ${tg2_node} - Node where the path ends. Must be the same as TG node +| | ... | parameter in circular topology. Type: dictionary +| | ... +| | ... | *Return:* +| | ... | - No value returned. +| | ... | +| | ... | _NOTE:_ This KW sets following test case variables: +| | ... | - ${tg_node} - TG node. +| | ... | - ${tg_to_dut1_if1} - TG interface towards DUT1 interface 1. +| | ... | - ${tg_to_dut1_if2} - TG interface towards DUT1 interface 2. +| | ... | - ${tg_to_dut1_mac_if1} - TG towards DUT1 MAC address interface 1. +| | ... | - ${tg_to_dut1_mac_if2} - TG towards DUT1 MAC address interface 2. +| | ... | - ${tg_to_dut2_if1} - TG interface towards DUT2 interface 1. +| | ... | - ${tg_to_dut2_if2} - TG interface towards DUT2 interface 2. +| | ... | - ${tg_to_dut2_mac_if1} - TG towards DUT2 MAC address interface 1. +| | ... | - ${tg_to_dut2_mac_if2} - TG towards DUT2 MAC address interface 2. +| | ... | - ${dut1_node} - DUT1 node. +| | ... | - ${dut1_to_tg_if1} - DUT1 interface towards TG interface 1. +| | ... | - ${dut1_to_tg_if2} - DUT1 interface towards TG interface 2. +| | ... | - ${dut1_to_tg_mac_if1} - DUT1 towards TG MAC address interface 1. +| | ... | - ${dut1_to_tg_mac_if2} - DUT1 towards TG MAC address interface 2. +| | ... | - ${dut1_to_dut2_if1} - DUT1 interface towards DUT2 interface 1. +| | ... | - ${dut1_to_dut2_if2} - DUT1 interface towards DUT2 interface 2. +| | ... | - ${dut1_to_dut2_mac_if1} - DUT1 towards DUT2 MAC address interface 1. +| | ... | - ${dut1_to_dut2_mac_if2} - DUT1 towards DUT2 MAC address interface 2. +| | ... | - ${dut2_node} - DUT2 node. +| | ... | - ${dut2_to_tg_if1} - DUT2 interface towards TG interface 1. +| | ... | - ${dut2_to_tg_if2} - DUT2 interface towards TG interface 2. +| | ... | - ${dut2_to_tg_mac_if1} - DUT2 towards TG MAC address interface 1. +| | ... | - ${dut2_to_tg_mac_if2} - DUT2 towards TG MAC address interface 2. +| | ... | - ${dut2_to_dut1_if1} - DUT2 interface towards DUT1 interface 1. +| | ... | - ${dut2_to_dut1_if2} - DUT2 interface towards DUT1 interface 2. +| | ... | - ${dut2_to_dut1_mac_if1} - DUT2 towards DUT1 MAC address interface 1. +| | ... | - ${dut2_to_dut1_mac_if2} - DUT2 towards DUT1 MAC address interface 2. +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Configure path in double-link 3-node circular topology \| ${nodes['TG']} \ +| | ... | \| ${nodes['DUT1']} \| ${nodes['DUT2']} \| ${nodes['TG']} \| +| | ... +| | [Arguments] | ${tg_node} | ${dut1_node} | ${dut2_node} | ${tg2_node} +| | Should Be Equal | ${tg_node} | ${tg2_node} +| | # Compute path TG - DUT1 with two links in between +| | Append Nodes | ${tg_node} | ${dut1_node} | ${tg_node} +| | Compute Path | always_same_link=${FALSE} +| | ${tg_to_dut1_if1} | ${tmp}= | First Interface +| | ${tg_to_dut1_if2} | ${tmp}= | Last Interface +| | ${dut1_to_tg_if1} | ${tmp}= | First Ingress Interface +| | ${dut1_to_tg_if2} | ${tmp}= | Last Egress Interface +| | # Compute path TG - DUT2 with two links in between +| | Clear Path +| | Append Nodes | ${tg_node} | ${dut2_node} | ${tg_node} +| | Compute Path | always_same_link=${FALSE} +| | ${tg_to_dut2_if1} | ${tmp}= | First Interface +| | ${tg_to_dut2_if2} | ${tmp}= | Last Interface +| | ${dut2_to_tg_if1} | ${tmp}= | First Ingress Interface +| | ${dut2_to_tg_if2} | ${tmp}= | Last Egress Interface +| | # Compute path DUT1 - DUT2 with one link in between +| | Clear Path +| | Append Nodes | ${dut1_node} | ${dut2_node} | ${dut1_node} +| | Compute Path | always_same_link=${FALSE} +| | ${dut1_to_dut2_if1} | ${tmp}= | First Interface +| | ${dut1_to_dut2_if2} | ${tmp}= | Last Interface +| | ${dut2_to_dut1_if1} | ${tmp}= | First Ingress Interface +| | ${dut2_to_dut1_if2} | ${tmp}= | Last Egress Interface +| | # Set test variables +| | Set Test Variable | ${tg_to_dut1_if1} +| | Set Test Variable | ${tg_to_dut1_if2} +| | Set Test Variable | ${tg_to_dut2_if1} +| | Set Test Variable | ${tg_to_dut2_if2} +| | Set Test Variable | ${dut1_to_tg_if1} +| | Set Test Variable | ${dut1_to_tg_if2} +| | Set Test Variable | ${dut2_to_tg_if1} +| | Set Test Variable | ${dut2_to_tg_if2} +| | Set Test Variable | ${dut1_to_dut2_if1} +| | Set Test Variable | ${dut1_to_dut2_if2} +| | Set Test Variable | ${dut2_to_dut1_if1} +| | Set Test Variable | ${dut2_to_dut1_if2} +| | Set Test Variable | ${tg_node} +| | Set Test Variable | ${dut1_node} +| | Set Test Variable | ${dut2_node} +| | # Set Mac Addresses +| | ${tg_to_dut1_if1_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut1_if1} +| | ${tg_to_dut1_if2_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut1_if2} +| | ${tg_to_dut2_if1_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut2_if1} +| | ${tg_to_dut2_if2_mac}= | Get interface mac | ${tg_node} | ${tg_to_dut2_if2} +| | ${dut1_to_tg_if1_mac}= | Get interface mac | ${dut1_node} +| | ... | ${dut1_to_tg_if1} +| | ${dut1_to_tg_if2_mac}= | Get interface mac | ${dut1_node} +| | ... | ${dut1_to_tg_if2} +| | ${dut1_to_dut2_if1_mac}= | Get interface mac | ${dut1_node} +| | ... | ${dut1_to_dut2_if1} +| | ${dut1_to_dut2_if2_mac}= | Get interface mac | ${dut1_node} +| | ... | ${dut1_to_dut2_if2} +| | ${dut2_to_tg_if1_mac}= | Get interface mac | ${dut2_node} +| | ... | ${dut2_to_tg_if1} +| | ${dut2_to_tg_if2_mac}= | Get interface mac | ${dut2_node} +| | ... | ${dut2_to_tg_if2} +| | ${dut2_to_dut1_if1_mac}= | Get interface mac | ${dut2_node} +| | ... | ${dut2_to_dut1_if1} +| | ${dut2_to_dut1_if2_mac}= | Get interface mac | ${dut2_node} +| | ... | ${dut2_to_dut1_if2} +| | Set Test Variable | ${tg_to_dut1_if1_mac} +| | Set Test Variable | ${tg_to_dut1_if2_mac} +| | Set Test Variable | ${tg_to_dut2_if1_mac} +| | Set Test Variable | ${tg_to_dut2_if2_mac} +| | Set Test Variable | ${dut1_to_tg_if1_mac} +| | Set Test Variable | ${dut1_to_tg_if2_mac} +| | Set Test Variable | ${dut1_to_dut2_if1_mac} +| | Set Test Variable | ${dut1_to_dut2_if2_mac} +| | Set Test Variable | ${dut2_to_tg_if1_mac} +| | Set Test Variable | ${dut2_to_tg_if2_mac} +| | Set Test Variable | ${dut2_to_dut1_if1_mac} +| | Set Test Variable | ${dut2_to_dut1_if2_mac} + +| Set interfaces in double-link 3-node circular topology up +| | [Documentation] +| | ... | Set UP state on interfaces in 3-node double link path \ +| | ... | wait until all interfaces are ready. +| | ... +| | ... | *Arguments:* +| | ... | - No arguments. +| | ... +| | ... | *Return:* +| | ... | - No value returned. +| | ... +| | ... | _NOTE:_ This KW uses test variables sets in +| | ... | "Configure path in double-link 3-node circular topology" KW. +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Configure path in double-link 3-node circular topology \| ${nodes['TG']} \ +| | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| +| | ... | \| Interfaces in Double-Link 3-node testing are UP \| +| | ... +| | Set Interface State | ${tg_node} | ${tg_to_dut1_if1} | up +| | Set Interface State | ${tg_node} | ${tg_to_dut1_if2} | up +| | Set Interface State | ${tg_node} | ${tg_to_dut2_if1} | up +| | Set Interface State | ${tg_node} | ${tg_to_dut2_if2} | up +| | Set Interface State | ${dut1_node} | ${dut1_to_tg_if1} | up +| | Set Interface State | ${dut1_node} | ${dut1_to_tg_if2} | up +| | Set Interface State | ${dut2_node} | ${dut2_to_tg_if1} | up +| | Set Interface State | ${dut2_node} | ${dut2_to_tg_if2} | up +| | Set Interface State | ${dut1_node} | ${dut1_to_dut2_if1} | up +| | Set Interface State | ${dut1_node} | ${dut1_to_dut2_if2} | up +| | Set Interface State | ${dut2_node} | ${dut2_to_dut1_if1} | up +| | Set Interface State | ${dut2_node} | ${dut2_to_dut1_if2} | up +| | Vpp Node Interfaces Ready Wait | ${dut1_node} +| | Vpp Node Interfaces Ready Wait | ${dut2_node} \ No newline at end of file