From 19c91adadd57bfc4e7514993b2a711a826d52e04 Mon Sep 17 00:00:00 2001 From: selias Date: Tue, 13 Sep 2016 16:51:37 +0200 Subject: CSIT-405: Honeycomb test update and cleanup - update suite setup and constants to allow test runs again - cleanup basic interface keywords - cleanup L2-fib test data - add "continue on failure" keyword to some partially failing tests - add teardown to all suites, restarts honeycomb if suite had test failures - fix minor PEP-8 violations in Topology.py Change-Id: Ic5b434af71f77855f81461b280299b8318932c5a Signed-off-by: selias --- .../libraries/robot/honeycomb/honeycomb.robot | 24 +++++++++++++++++++--- .../libraries/robot/honeycomb/interfaces.robot | 3 +-- .../libraries/robot/honeycomb/persistence.robot | 2 +- .../libraries/robot/honeycomb/vxlan_gpe.robot | 18 +++++++++++++++- 4 files changed, 40 insertions(+), 7 deletions(-) (limited to 'resources/libraries/robot') diff --git a/resources/libraries/robot/honeycomb/honeycomb.robot b/resources/libraries/robot/honeycomb/honeycomb.robot index c04bd23a57..698b20f83f 100644 --- a/resources/libraries/robot/honeycomb/honeycomb.robot +++ b/resources/libraries/robot/honeycomb/honeycomb.robot @@ -14,6 +14,7 @@ *** Settings *** | Library | resources/libraries/python/honeycomb/HoneycombSetup.py | Library | resources/libraries/python/honeycomb/HoneycombUtil.py +| Library | resources/libraries/python/honeycomb/HcPersistence.py *** Keywords *** | Setup Honeycomb service on DUTs @@ -36,7 +37,7 @@ | | ... | | [Arguments] | @{duts} | | Start honeycomb on DUTs | @{duts} -| | Wait until keyword succeeds | 4min | 20sec +| | Wait until keyword succeeds | 1min | 10sec | | ... | Check honeycomb startup state | @{duts} | Stop honeycomb service on DUTs @@ -58,7 +59,7 @@ | | ... | | [Arguments] | @{duts} | | Stop honeycomb on DUTs | @{duts} -| | Wait until keyword succeeds | 2m | 10s +| | Wait until keyword succeeds | 30sec | 5sec | | ... | Check honeycomb shutdown state | @{duts} | Clear persisted Honeycomb configuration @@ -71,4 +72,21 @@ | | ... | | ... | \| Clear persisted Honeycomb configuration \| ${nodes['DUT1']} \| | | [Arguments] | @{duts} -| | Clear persisted Honeycomb config | @{duts} \ No newline at end of file +| | Clear persisted Honeycomb config | @{duts} + +| Restart Honeycomb and VPP and clear persisted configuration +| | [Documentation] | Restarts Honeycomb and VPP with default configuration. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Restart Honeycomb and VPP and clear persisted configuration \ +| | ... | \| ${nodes['DUT1']} \| +| | [Arguments] | ${node} +| | Log | Performing clean restart of Honeycomb and VPP. | console=True +| | Stop Honeycomb service on DUTs | ${node} +| | Clear persisted Honeycomb configuration | ${node} +| | Setup DUT | ${node} +| | Setup Honeycomb service on DUTs | ${node} \ No newline at end of file diff --git a/resources/libraries/robot/honeycomb/interfaces.robot b/resources/libraries/robot/honeycomb/interfaces.robot index 81b5d82048..f94d03d7d4 100644 --- a/resources/libraries/robot/honeycomb/interfaces.robot +++ b/resources/libraries/robot/honeycomb/interfaces.robot @@ -190,7 +190,7 @@ | | ... | ${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}']} +| | | ... | ${settings['${key}']} | ${api_data['ietf-ip:ipv4']['${key}']} | IPv4 config from VAT should be | | [Documentation] | Retrieves interface ipv4 configuration through VAT and\ @@ -209,7 +209,6 @@ | | [Arguments] | ${node} | ${interface} | ${address} | ${netmask} | | ${vpp_data}= | interfaceCLI.VPP get interface ip addresses | | ... | ${node} | ${interface} | ipv4 -#TODO: update based on resolution of bug https://jira.fd.io/browse/VPP-132 | | Should be equal | ${vpp_data[0]['ip']} | ${address} | | Should be equal | ${vpp_data[0]['netmask']} | ${netmask} diff --git a/resources/libraries/robot/honeycomb/persistence.robot b/resources/libraries/robot/honeycomb/persistence.robot index aacf560f1d..6d2cc1f2e3 100644 --- a/resources/libraries/robot/honeycomb/persistence.robot +++ b/resources/libraries/robot/honeycomb/persistence.robot @@ -14,7 +14,7 @@ *** Settings *** | Library | resources.libraries.python.honeycomb.HcAPIKwInterfaces.InterfaceKeywords | ... | WITH NAME | InterfaceAPI -| Library | resources.libraries.python.honeycomb.HcPersistence +| Library | resources/libraries/python/honeycomb/HcPersistence.py | Resource | resources/libraries/robot/honeycomb/honeycomb.robot | Resource | resources/libraries/robot/honeycomb/interfaces.robot | Resource | resources/libraries/robot/honeycomb/vxlan.robot diff --git a/resources/libraries/robot/honeycomb/vxlan_gpe.robot b/resources/libraries/robot/honeycomb/vxlan_gpe.robot index 364a23228c..ef20ed946c 100644 --- a/resources/libraries/robot/honeycomb/vxlan_gpe.robot +++ b/resources/libraries/robot/honeycomb/vxlan_gpe.robot @@ -153,9 +153,25 @@ | | Should be equal as strings | | ... | ${api_data['if-index']} | ${sw_if_index} +| VxLAN GPE configuration from Honeycomb should be empty +| | [Documentation] | Uses Honeycomb API to get operational data about\ +| | ... | the given interface and expects to fail. +| | ... +| | ... | *Arguments:* +| | ... | - node - information about a DUT node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... | \| VxLAN GPE configuration from Honeycomb should be empty\ +| | ... | \| ${nodes['DUT1']} \| vxlan_gpe_tunnel0 \| +| | ... +| | [Arguments] | ${node} | ${interface} +| | ... +| | ${api_data}= | interfaceAPI.Get interface oper data | ${node} | ${interface} +| | Should be empty | ${api_data} + | VxLAN GPE configuration from VAT should be empty | | [Documentation] | Uses VAT to get operational data about the given\ -| | ... | interface and expects empty dictionary. +| | ... | interface and expects an empty dictionary. | | ... | | ... | *Arguments:* | | ... | - node - information about a DUT node. Type: dictionary -- cgit 1.2.3-korg