Merge "Setup hugepages on SA host(sriov, ovs_dpdk)"
[yardstick.git] / yardstick / tests / unit / network_services / vnf_generic / vnf / test_sample_vnf.py
index c35d2db..43682dd 100644 (file)
@@ -16,7 +16,6 @@ from copy import deepcopy
 
 import unittest
 import mock
-import six
 
 from yardstick.common import exceptions as y_exceptions
 from yardstick.common import utils
@@ -521,38 +520,6 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
         result = DpdkVnfSetupEnvHelper._update_traffic_type(ip_pipeline_cfg, traffic_options)
         self.assertEqual(result, expected)
 
-    @mock.patch.object(six, 'BytesIO', return_value=six.BytesIO(b'100\n'))
-    @mock.patch.object(utils, 'read_meminfo',
-                       return_value={'Hugepagesize': '2048'})
-    def test__setup_hugepages_no_hugepages_defined(self, mock_meminfo, *args):
-        ssh_helper = mock.Mock()
-        scenario_helper = mock.Mock()
-        scenario_helper.all_options = {}
-        dpdk_setup_helper = DpdkVnfSetupEnvHelper(
-            mock.ANY, ssh_helper, scenario_helper)
-        with mock.patch.object(sample_vnf.LOG, 'info') as mock_info:
-            dpdk_setup_helper._setup_hugepages()
-            mock_info.assert_called_once_with(
-                'Hugepages size (kB): %s, number claimed: %s, number set: '
-                '%s', 2048, 8192, 100)
-        mock_meminfo.assert_called_once_with(ssh_helper)
-
-    @mock.patch.object(six, 'BytesIO', return_value=six.BytesIO(b'100\n'))
-    @mock.patch.object(utils, 'read_meminfo',
-                       return_value={'Hugepagesize': '1048576'})
-    def test__setup_hugepages_8gb_hugepages_defined(self, mock_meminfo, *args):
-        ssh_helper = mock.Mock()
-        scenario_helper = mock.Mock()
-        scenario_helper.all_options = {'hugepages_gb': 8}
-        dpdk_setup_helper = DpdkVnfSetupEnvHelper(
-            mock.ANY, ssh_helper, scenario_helper)
-        with mock.patch.object(sample_vnf.LOG, 'info') as mock_info:
-            dpdk_setup_helper._setup_hugepages()
-            mock_info.assert_called_once_with(
-                'Hugepages size (kB): %s, number claimed: %s, number set: '
-                '%s', 1048576, 8, 100)
-        mock_meminfo.assert_called_once_with(ssh_helper)
-
     @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.open')
     @mock.patch.object(utils, 'find_relative_file')
     @mock.patch('yardstick.network_services.vnf_generic.vnf.sample_vnf.MultiPortConfig')
@@ -638,15 +605,17 @@ class TestDpdkVnfSetupEnvHelper(unittest.TestCase):
                 dpdk_vnf_setup_env_helper.setup_vnf_environment(),
                 ResourceProfile)
 
-    def test__setup_dpdk(self):
+    @mock.patch.object(utils, 'setup_hugepages')
+    def test__setup_dpdk(self, mock_setup_hugepages):
         ssh_helper = mock.Mock()
         ssh_helper.execute = mock.Mock()
         ssh_helper.execute.return_value = (0, 0, 0)
-        dpdk_setup_helper = DpdkVnfSetupEnvHelper(mock.ANY, ssh_helper, mock.ANY)
-        with mock.patch.object(dpdk_setup_helper, '_setup_hugepages') as \
-                mock_setup_hp:
-            dpdk_setup_helper._setup_dpdk()
-        mock_setup_hp.assert_called_once()
+        scenario_helper = mock.Mock()
+        scenario_helper.all_options = {'hugepages_gb': 8}
+        dpdk_setup_helper = DpdkVnfSetupEnvHelper(mock.ANY, ssh_helper,
+                                                  scenario_helper)
+        dpdk_setup_helper._setup_dpdk()
+        mock_setup_hugepages.assert_called_once_with(ssh_helper, 8*1024*1024)
         ssh_helper.execute.assert_has_calls([
             mock.call('sudo modprobe uio && sudo modprobe igb_uio'),
             mock.call('lsmod | grep -i igb_uio')
@@ -1091,7 +1060,8 @@ class TestClientResourceHelper(unittest.TestCase):
         self.assertIs(client_resource_helper._connect(client), client)
 
     @mock.patch.object(ClientResourceHelper, '_build_ports')
-    @mock.patch.object(ClientResourceHelper, '_run_traffic_once')
+    @mock.patch.object(ClientResourceHelper, '_run_traffic_once',
+                       return_value=(True, mock.ANY))
     def test_run_traffic(self, mock_run_traffic_once, mock_build_ports):
         client_resource_helper = ClientResourceHelper(mock.Mock())
         client = mock.Mock()
@@ -1103,7 +1073,7 @@ class TestClientResourceHelper(unittest.TestCase):
                 as mock_terminated:
             mock_connect.return_value = client
             type(mock_terminated).value = mock.PropertyMock(
-                side_effect=[0, 1, lambda x: x])
+                side_effect=[0, 1, 1, lambda x: x])
             client_resource_helper.run_traffic(traffic_profile, mq_producer)
 
         mock_build_ports.assert_called_once()
@@ -1205,6 +1175,7 @@ class TestRfc2544ResourceHelper(unittest.TestCase):
         self.assertIsNone(rfc2544_resource_helper._tolerance_high)
         self.assertEqual(rfc2544_resource_helper.tolerance_high, 0.15)
         self.assertEqual(rfc2544_resource_helper._tolerance_high, 0.15)
+        self.assertEqual(rfc2544_resource_helper._tolerance_precision, 2)
         scenario_helper.scenario_cfg = {}  # ensure that resource_helper caches
         self.assertEqual(rfc2544_resource_helper.tolerance_high, 0.15)
 
@@ -1239,6 +1210,7 @@ class TestRfc2544ResourceHelper(unittest.TestCase):
         rfc2544_resource_helper = Rfc2544ResourceHelper(scenario_helper)
 
         self.assertEqual(rfc2544_resource_helper.tolerance_high, 0.2)
+        self.assertEqual(rfc2544_resource_helper._tolerance_precision, 1)
 
     def test_property_tolerance_low_not_range(self):
         scenario_helper = ScenarioHelper('name1')