add ppm into result of pktgen to make result clear 61/39461/5
authorrexlee8776 <limingjiang@huawei.com>
Thu, 17 Aug 2017 01:35:18 +0000 (01:35 +0000)
committerrexlee8776 <limingjiang@huawei.com>
Mon, 21 Aug 2017 07:02:12 +0000 (07:02 +0000)
Change-Id: I6649960dc9fbc61c22c9b7434805fc335634960b
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
tests/unit/benchmark/scenarios/networking/test_pktgen.py
yardstick/benchmark/scenarios/networking/pktgen.py

index 32ba255..0ca31d4 100644 (file)
@@ -132,7 +132,7 @@ class PktgenTestCase(unittest.TestCase):
         p._iptables_get_result = mock_iptables_result
 
         sample_output = '{"packets_per_second": 9753, "errors": 0, \
-            "packets_sent": 149776, "packetsize": 60, "flows": 110}'
+            "packets_sent": 149776, "packetsize": 60, "flows": 110, "ppm": 3179}'
         mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '')
 
         p.run(result)
@@ -159,7 +159,7 @@ class PktgenTestCase(unittest.TestCase):
         p._iptables_get_result = mock_iptables_result
 
         sample_output = '{"packets_per_second": 9753, "errors": 0, \
-            "packets_sent": 149776, "packetsize": 60, "flows": 110}'
+            "packets_sent": 149776, "packetsize": 60, "flows": 110, "ppm": 3179}'
         mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '')
 
         p.run(result)
@@ -648,7 +648,7 @@ class PktgenTestCase(unittest.TestCase):
         p._iptables_get_result = mock_iptables_result
 
         sample_output = '{"packets_per_second": 9753, "errors": 0, \
-            "packets_sent": 149300, "flows": 110}'
+            "packets_sent": 149300, "flows": 110, "ppm": 0}'
         mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '')
 
         p.run(result)
@@ -693,7 +693,7 @@ class PktgenTestCase(unittest.TestCase):
         p._iptables_get_result = mock_iptables_result
 
         sample_output = '{"packets_per_second": 9753, "errors": 0, \
-            "packets_sent": 149300, "flows": 110}'
+            "packets_sent": 149300, "flows": 110, "ppm": 0}'
         mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '')
 
         p.run(result)
@@ -730,7 +730,7 @@ class PktgenTestCase(unittest.TestCase):
         p._iptables_get_result = mock_iptables_result
 
         sample_output = '{"packets_per_second": 9753, "errors": 0, \
-            "packets_sent": 149300, "flows": 110}'
+            "packets_sent": 149300, "flows": 110, "ppm": 0}'
         mock_ssh.SSH.from_node().execute.return_value = (0, sample_output, '')
 
         p.run(result)
index 1e0a5fc..a9e7aa6 100644 (file)
@@ -11,6 +11,7 @@ from __future__ import print_function
 
 import os
 import logging
+import math
 
 import pkg_resources
 from oslo_serialization import jsonutils
@@ -357,15 +358,15 @@ class Pktgen(base.Scenario):
 
         result.update(jsonutils.loads(stdout))
 
-        result['packets_received'] = self._iptables_get_result()
+        received = result['packets_received'] = self._iptables_get_result()
+        sent = result['packets_sent']
         result['packetsize'] = packetsize
+        # compatible with python3 /
+        ppm = math.ceil(1000000.0 * (sent - received) / sent)
+
+        result['ppm'] = ppm
 
         if "sla" in self.scenario_cfg:
-            sent = result['packets_sent']
-            received = result['packets_received']
-            ppm = 1000000 * (sent - received) / sent
-            # if ppm is 1, then 11 out of 10 million is no pass
-            ppm += (sent - received) % sent > 0
             LOG.debug("Lost packets %d - Lost ppm %d", (sent - received), ppm)
             sla_max_ppm = int(self.scenario_cfg["sla"]["max_ppm"])
             assert ppm <= sla_max_ppm, "ppm %d > sla_max_ppm %d; " \