diff options
-rw-r--r-- | resources/libraries/python/TrafficGenerator.py | 11 | ||||
-rw-r--r-- | tests/suites/performance/short.robot | 54 |
2 files changed, 36 insertions, 29 deletions
diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py index 4b71b59cc7..e63b8bc5a3 100644 --- a/resources/libraries/python/TrafficGenerator.py +++ b/resources/libraries/python/TrafficGenerator.py @@ -34,8 +34,8 @@ class TrafficGenerator(object): def initialize_traffic_generator(node, interface1, interface2): """TG initialization :param node: Traffic generator node - :param interface1: PCI address of first interface - :param interface2: PCI address of second interface + :param interface1: interface name of first interface + :param interface2: interface name of second interface :type node: dict :type interface1: str :type interface2: str @@ -54,12 +54,17 @@ class TrafficGenerator(object): "sh -c 'cd {0}/scripts/ && " "sudo ./trex-cfg'"\ .format(trex_path)) + if int(ret) != 0: + logger.error('trex-cfg failed: {0}'.format(stdout + stderr)) + raise RuntimeError('trex-cfg failed') - (ret, stdout, stderr) = ssh.exec_command( + (ret, _, _) = ssh.exec_command( "sh -c 'cd {0}/scripts/ && " "sudo nohup ./t-rex-64 -i -c 4 --iom 0 > /dev/null 2>&1 &'" "> /dev/null"\ .format(trex_path)) + if int(ret) != 0: + raise RuntimeError('t-rex-64 startup failed') @staticmethod def teardown_traffic_generator(node): diff --git a/tests/suites/performance/short.robot b/tests/suites/performance/short.robot index 598cd409bf..e4309aea2b 100644 --- a/tests/suites/performance/short.robot +++ b/tests/suites/performance/short.robot @@ -20,11 +20,9 @@ | Library | resources.libraries.python.TrafficGenerator | Library | resources.libraries.python.NodePath | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV +| Suite Setup | 3-node Performance Suite Setup +| Suite Teardown | 3-node Performance Suite Teardown | Test Setup | Setup all DUTs before test -| Suite Setup | Initialize traffic generator | ${nodes['TG']} -| ... | ${nodes['TG']['interfaces']['port3']['pci_address']} -| ... | ${nodes['TG']['interfaces']['port5']['pci_address']} -| Suite Teardown | Teardown traffic generator | ${nodes['TG']} | Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs *** Test Cases *** @@ -67,38 +65,42 @@ *** Keywords *** - -| L2 xconnect initialized in a 3-node topology -| | Interfaces on all DUTs are in "up" state -| | L2 setup xconnect on DUTs - -| IPv4 forwarding initialized in a 3-node topology -| | Setup nodes for IPv4 testing - -| L2 bridge domain initialized in a 3-node circular topology +| 3-node Topology Variables Setup | | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | | ... | ${nodes['TG']} | | Compute Path -| | ${src_if} | ${tg}= | Next Interface +| | ${tg_if1} | ${tg}= | Next Interface | | ${dut1_if1} | ${dut1}= | Next Interface | | ${dut1_if2} | ${dut1}= | Next Interface | | ${dut2_if1} | ${dut2}= | Next Interface | | ${dut2_if2} | ${dut2}= | Next Interface -| | ${dst_if} | ${tg}= | Next Interface +| | ${tg_if2} | ${tg}= | Next Interface +| | Set Suite Variable | ${tg} +| | Set Suite Variable | ${tg_if1} +| | Set Suite Variable | ${tg_if2} +| | Set Suite Variable | ${dut1} +| | Set Suite Variable | ${dut1_if1} +| | Set Suite Variable | ${dut1_if2} +| | Set Suite Variable | ${dut2} +| | Set Suite Variable | ${dut2_if1} +| | Set Suite Variable | ${dut2_if2} + +| 3-node Performance Suite Setup +| | 3-node Topology Variables Setup +| | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} + +| 3-node Performance Suite Teardown +| | Teardown traffic generator | ${tg} + +| IPv4 forwarding initialized in a 3-node topology +| | Setup nodes for IPv4 testing + +| L2 bridge domain initialized in a 3-node circular topology | | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2} | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2} | | Sleep | 10 | Wait for interfaces initialization | L2 xconnect initialized in a 3-node circular topology -| | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} -| | ... | ${nodes['TG']} -| | Compute Path -| | ${src_if} | ${tg}= | Next Interface -| | ${dut1_if1} | ${dut1}= | Next Interface -| | ${dut1_if2} | ${dut1}= | Next Interface -| | ${dut2_if1} | ${dut2}= | Next Interface -| | ${dut2_if2} | ${dut2}= | Next Interface -| | ${dst_if} | ${tg}= | Next Interface | | L2 setup xconnect on DUT | ${dut1} | ${dut1_if1} | ${dut1_if2} | | L2 setup xconnect on DUT | ${dut2} | ${dut2_if1} | ${dut2_if2} | | Sleep | 10 | Wait for interfaces initialization @@ -111,5 +113,5 @@ | Show statistics on all DUTs | | Sleep | 10 | Waiting for statistics to be collected -| | Vpp show stats | ${nodes['DUT1']} -| | Vpp show stats | ${nodes['DUT2']} +| | Vpp show stats | ${dut1} +| | Vpp show stats | ${dut2} |