From 4608b2d7a467344cde6208eaa5d0db58d7d7d42f Mon Sep 17 00:00:00 2001 From: Ace Lee Date: Fri, 15 Sep 2017 06:14:19 +0000 Subject: Use "protocol" parameters in iperf3 yaml and task file JIRA: YARDSTICK-755 There is a history problem that iperf use udp to set a net protocol. This code will change it to protocol. so you could use 'tcp','udp' and other protocol. Change-Id: I1a101013dfe58165a3ed08aa77f0aa2f73d57a12 Signed-off-by: Ace Lee (cherry picked from commit 10f85b332c4b1f55e651aeb9c45b328e1ebdc2af) --- tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml | 4 ++-- .../benchmark/scenarios/networking/test_iperf3.py | 22 ++++++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml index b2077d59e..ee36c6c82 100644 --- a/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml +++ b/tests/opnfv/test_cases/opnfv_yardstick_tc011.yaml @@ -13,7 +13,7 @@ description: > Yardstick TC011 config file; Measure packet delay variation (jitter) using iperf3. -{% set udp = udp or "udp" %} +{% set protocol = protocol or "udp" %} {% set bandwidth = bandwidth or "20m" %} {% set length = length or "8K" %} {% set window = window or 29200 %} @@ -25,7 +25,7 @@ scenarios: - type: Iperf3 options: - udp: {{udp}} + protocol: {{protocol}} bandwidth: {{bandwidth}} length: {{length}} window: {{window}} diff --git a/tests/unit/benchmark/scenarios/networking/test_iperf3.py b/tests/unit/benchmark/scenarios/networking/test_iperf3.py index 331245357..4d3745230 100644 --- a/tests/unit/benchmark/scenarios/networking/test_iperf3.py +++ b/tests/unit/benchmark/scenarios/networking/test_iperf3.py @@ -123,7 +123,7 @@ class IperfTestCase(unittest.TestCase): self.assertRaises(AssertionError, p.run, result) def test_iperf_successful_sla_jitter(self, mock_ssh): - options = {"udp": "udp", "bandwidth": "20m"} + options = {"protocol": "udp", "bandwidth": "20m"} args = { 'options': options, 'sla': {'jitter': 10} @@ -141,7 +141,7 @@ class IperfTestCase(unittest.TestCase): self.assertEqual(result, expected_result) def test_iperf_unsuccessful_sla_jitter(self, mock_ssh): - options = {"udp": "udp", "bandwidth": "20m"} + options = {"protocol": "udp", "bandwidth": "20m"} args = { 'options': options, 'sla': {'jitter': 0.0001} @@ -156,6 +156,24 @@ class IperfTestCase(unittest.TestCase): mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '') self.assertRaises(AssertionError, p.run, result) + def test_iperf_successful_tcp_protocal(self, mock_ssh): + options = {"protocol": "tcp", "nodelay": "yes"} + args = { + 'options': options, + 'sla': {'bytes_per_second': 15000000} + } + result = {} + + p = iperf3.Iperf(args, self.ctx) + mock_ssh.SSH.from_node().execute.return_value = (0, '', '') + p.host = mock_ssh.SSH.from_node() + + sample_output = self._read_sample_output(self.output_name_tcp) + mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '') + expected_result = utils.flatten_dict_key(jsonutils.loads(sample_output)) + p.run(result) + self.assertEqual(result, expected_result) + def test_iperf_unsuccessful_script_error(self, mock_ssh): options = {} -- cgit 1.2.3-korg