MPLS support + loop_vm_arp test fix
[nfvbench.git] / test / test_nfvbench.py
index b430436..fa0e098 100644 (file)
@@ -13,8 +13,6 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 #
-from mock_trex import no_op
-
 import json
 import logging
 import sys
@@ -34,6 +32,7 @@ from nfvbench.traffic_client import IpBlock
 from nfvbench.traffic_client import TrafficClient
 import nfvbench.traffic_gen.traffic_utils as traffic_utils
 
+from .mock_trex import no_op
 
 # just to get rid of the unused function warning
 no_op()
@@ -152,6 +151,19 @@ def test_ip_block():
     assert ipb.get_ip(255) == '10.0.0.255'
     with pytest.raises(IndexError):
         ipb.get_ip(256)
+    ipb = IpBlock('10.0.0.0', '0.0.0.1', 1)
+    assert ipb.get_ip() == '10.0.0.0'
+    with pytest.raises(IndexError):
+        ipb.get_ip(1)
+
+    ipb = IpBlock('10.0.0.0', '0.0.0.2', 256)
+    assert ipb.get_ip() == '10.0.0.0'
+    assert ipb.get_ip(1) == '10.0.0.2'
+    assert ipb.get_ip(127) == '10.0.0.254'
+    assert ipb.get_ip(128) == '10.0.1.0'
+    with pytest.raises(IndexError):
+        ipb.get_ip(256)
+
     # verify with step larger than 1
     ipb = IpBlock('10.0.0.0', '0.0.0.2', 256)
     assert ipb.get_ip() == '10.0.0.0'
@@ -215,7 +227,7 @@ def test_config():
         expected = fail_pair[1]
         if expected is None:
             expected = fail_pair[0]
-        assert expected in e_info.value.message
+        assert expected in str(e_info)
 
     # whitelist keys
     flavor = {'flavor': {'vcpus': 2, 'ram': 8192, 'disk': 0,
@@ -314,11 +326,22 @@ def _get_dummy_tg_config(chain_type, rate, scc=1, fc=10, step_ip='0.0.0.1',
         'check_traffic_time_sec': 200,
         'generic_poll_sec': 2,
         'measurement': {'NDR': 0.001, 'PDR': 0.1, 'load_epsilon': 0.1},
-        'l2_loopback': False
+        'l2_loopback': False,
+        'cores': None,
+        'mbuf_factor': None,
+        'disable_hdrh': None,
+        'mbuf_64': None,
+        'service_mode': False,
+        'no_flow_stats': False,
+        'no_latency_stats': False,
+        'no_latency_streams': False
+
     })
 
 def _get_traffic_client():
     config = _get_dummy_tg_config('PVP', 'ndr_pdr')
+    config['vxlan'] = False
+    config['mpls'] = False
     config['ndr_run'] = True
     config['pdr_run'] = True
     config['generator_profile'] = 'dummy'
@@ -338,7 +361,7 @@ def test_ndr_at_lr():
     # tx packets should be line rate for 64B and no drops...
     assert tg.get_tx_pps_dropped_pps(100) == (LR_64B_PPS, 0)
     # NDR and PDR should be at 100%
-    traffic_client.ensure_end_to_end()
+    traffic_client.ensure_end_to_end()
     results = traffic_client.get_ndr_and_pdr()
     assert_ndr_pdr(results, 200.0, 0.0, 200.0, 0.0)