X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fshared%2Ftesting_path.robot;h=696e7397a5b14a2d26371579c9193c36709942ed;hb=8e601d0f37f715ca4ce55dded8bc27cadfe175c2;hp=b7543e1c4dc76bcaba642b921df18927231c4ff6;hpb=6721e7f09aa95bff6622068332a3f56afad9c87b;p=csit.git diff --git a/resources/libraries/robot/shared/testing_path.robot b/resources/libraries/robot/shared/testing_path.robot index b7543e1c4d..696e7397a5 100644 --- a/resources/libraries/robot/shared/testing_path.robot +++ b/resources/libraries/robot/shared/testing_path.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -18,17 +18,17 @@ *** Keywords *** | 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. -| | ... +| | ... | topology and set corresponding test case variables. +| | | | ... | *Arguments:* | | ... | - ${tg_node} - TG node. Type: dictionary | | ... | - ${dut_node} - DUT node. Type: dictionary | | ... | - ${tg2_node} - Node where the path ends. Must be the same as TG node -| | ... | parameter in circular topology. Type: dictionary -| | ... +| | ... | parameter in circular topology. Type: dictionary +| | | | ... | *Return:* | | ... | - No value returned -| | ... +| | | | ... | _NOTE:_ This KW sets following test case variables: | | ... | - ${tg_node} - TG node. | | ... | - ${tg_to_dut_if1} - 1st TG interface towards DUT. @@ -40,12 +40,12 @@ | | ... | - ${tg_to_dut_if2_mac} | | ... | - ${dut_to_tg_if1_mac} | | ... | - ${dut_to_tg_if2_mac} -| | ... +| | | | ... | *Example:* -| | ... +| | | | ... | \| Given Configure path in 2-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| -| | ... +| | | | [Arguments] | ${tg_node} | ${dut_node} | ${tg2_node} | | Should Be Equal | ${tg_node} | ${tg2_node} | | Append Nodes | ${tg_node} | ${dut_node} | ${tg_node} @@ -71,24 +71,24 @@ | 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. -| | ... +| | ... | wait for all interfaces are ready. Requires more than one link +| | ... | between nodes. +| | | | ... | *Arguments:* | | ... | - No arguments. -| | ... +| | | | ... | *Return:* | | ... | - No value returned. -| | ... +| | | | ... | _NOTE:_ This KW uses test variables sets in -| | ... | "Configure path in 2-node circular topology" KW. -| | ... +| | ... | "Configure path in 2-node circular topology" KW. +| | | | ... | *Example:* -| | ... +| | | | ... | \| Given Configure path in 2-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| | | ... | \| 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 | | Set Interface State | ${dut_node} | ${dut_to_tg_if1} | up @@ -97,15 +97,15 @@ | 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. -| | ... +| | ... | topology 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 -| | ... +| | ... | parameter in circular topology. Type: dictionary +| | | | ... | *Return:* | | ... | - No value returned | | ... | @@ -125,12 +125,12 @@ | | ... | - ${dut1_to_dut2_mac} | | ... | - ${dut2_to_tg_mac} | | ... | - ${dut2_to_dut1_mac} -| | ... +| | | | ... | *Example:* -| | ... +| | | | ... | \| 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} | | Should Be Equal | ${tg_node} | ${tg2_node} | | Append Nodes | ${tg_node} | ${dut1_node} | ${dut2_node} | ${tg_node} @@ -167,22 +167,22 @@ | | [Documentation] | | ... | Set UP state on interfaces in 3-node path on nodes and \ | | ... | wait until all interfaces are ready. -| | ... +| | | | ... | *Arguments:* | | ... | - No arguments. -| | ... +| | | | ... | *Return:* | | ... | - No value returned. -| | ... +| | | | ... | _NOTE:_ This KW uses test variables sets in | | ... | "Configure path in 3-node circular topology" KW. -| | ... +| | | | ... | *Example:* -| | ... +| | | | ... | \| Given Configure path in 3-node circular topology \| ${nodes['TG']} \ | | ... | \| ${nodes['DUT1']} \| ${nodes['TG']} \| | | ... | \| 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 | | Set Interface State | ${dut1_node} | ${dut1_to_tg} | up @@ -197,14 +197,14 @@ | | ... | 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. | | ... | @@ -236,12 +236,12 @@ | | ... | - ${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 @@ -321,22 +321,22 @@ | | [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. -| | ... +| | ... | "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 @@ -350,4 +350,31 @@ | | 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 +| | Vpp Node Interfaces Ready Wait | ${dut2_node} + +| Configure interfaces in path up +| | [Documentation] +| | ... | Set UP state on interfaces in 2-node or 3-node path on nodes and \ +| | ... | wait until all interfaces are ready. +| | +| | ... | *Arguments:* +| | ... | - No arguments. +| | +| | ... | *Return:* +| | ... | - No value returned. +| | +| | ... | _NOTE:_ This KW uses test variables sets in\ +| | ... | "Configure path in 2-node circular topology" or\ +| | ... | "Configure path in 3-node circular topology" KW. +| | +| | ... | *Example:* +| | +| | ... | \| Configure interfaces in path up \| +| | +| | ${dut2_status} | ${value}= | Run Keyword And Ignore Error +| | ... | Variable Should Exist | ${dut2} +| | +| | Run Keyword If | '${dut2_status}' == 'PASS' +| | ... | Set interfaces in 3-node circular topology up +| | ... | ELSE +| | ... | Set interfaces in 2-node circular topology up