From 34b3be9de85e2c2fe5a70b0910e40750f799d64c Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Wed, 19 Jun 2019 14:14:10 +0200 Subject: Add continue/fail option for enable traces Change-Id: I675f9664391c9f18f312773812f765f345983cc1 Signed-off-by: Tibor Frank --- resources/libraries/python/VPPUtil.py | 29 +++++++++++++++++----- .../robot/performance/performance_utils.robot | 2 +- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/resources/libraries/python/VPPUtil.py b/resources/libraries/python/VPPUtil.py index c20912eec5..c60509f018 100644 --- a/resources/libraries/python/VPPUtil.py +++ b/resources/libraries/python/VPPUtil.py @@ -216,26 +216,43 @@ class VPPUtil(object): host=node['host'], if_data=if_data)) @staticmethod - def vpp_enable_traces_on_dut(node): + def vpp_enable_traces_on_dut(node, fail_on_error=True): """Enable vpp packet traces on the DUT node. :param node: DUT node to set up. + :param fail_on_error: If True, keyword fails if an error occurs, + otherwise passes. :type node: dict + :type fail_on_error: bool """ - PapiExecutor.run_cli_cmd(node, "trace add dpdk-input 50") - PapiExecutor.run_cli_cmd(node, "trace add vhost-user-input 50") - PapiExecutor.run_cli_cmd(node, "trace add memif-input 50") + cmds = [ + "trace add dpdk-input 50", + "trace add vhost-user-input 50", + "trace add memif-input 50" + ] + + for cmd in cmds: + try: + PapiExecutor.run_cli_cmd(node, cmd) + except AssertionError as err: + if fail_on_error: + raise + else: + logger.error(repr(err)) @staticmethod - def vpp_enable_traces_on_all_duts(nodes): + def vpp_enable_traces_on_all_duts(nodes, fail_on_error=True): """Enable vpp packet traces on all DUTs in the given topology. :param nodes: Nodes in the topology. + :param fail_on_error: If True, keyword fails if an error occurs, + otherwise passes. :type nodes: dict + :type fail_on_error: bool """ for node in nodes.values(): if node['type'] == NodeType.DUT: - VPPUtil.vpp_enable_traces_on_dut(node) + VPPUtil.vpp_enable_traces_on_dut(node, fail_on_error) @staticmethod def vpp_enable_elog_traces_on_dut(node): diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot index e9eab2c08b..71e20afc72 100644 --- a/resources/libraries/robot/performance/performance_utils.robot +++ b/resources/libraries/robot/performance/performance_utils.robot @@ -378,7 +378,7 @@ | | ... | ${unidirection} | ${tx_port} | ${rx_port} | | Run Keyword If | ${dut_stats}==${True} | Clear all counters on all DUTs | | Run Keyword If | ${dut_stats}==${True} and ${pkt_trace}==${True} -| | ... | VPP Enable Traces On All DUTs | ${nodes} +| | ... | VPP Enable Traces On All DUTs | ${nodes} | fail_on_error=${False} | | Run Keyword If | ${dut_stats}==${True} | | ... | VPP enable elog traces on all DUTs | ${nodes} | | ${results} = | Create List -- cgit 1.2.3-korg