示例#1
0
 def test_get_drop_percentage_div_zero(self):
     traffic_generator = mock.Mock(autospec=TrexProfile)
     traffic_generator.my_ports = [0, 1]
     traffic_generator.client = \
         mock.Mock(return_value=True)
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile.params = self.PROFILE
     self.assertEqual(None, r_f_c2544_profile.execute(traffic_generator))
     samples = {}
     for ifname in range(1):
         name = "xe{}".format(ifname)
         samples[name] = {"rx_throughput_fps": 20,
                          "tx_throughput_fps": 20,
                          "rx_throughput_mbps": 10,
                          "tx_throughput_mbps": 10,
                          "in_packets": 1000,
                          "out_packets": 0}
     tol_min = 0.0
     tolerance = 0.0
     r_f_c2544_profile.tmp_throughput = 0
     expected = {'DropPercentage': 100.0, 'RxThroughput': 100/3.0,
                 'TxThroughput': 0.0, 'CurrentDropPercentage': 100.0,
                 'Throughput': 100/3.0,
                 'xe0': {'tx_throughput_fps': 20, 'in_packets': 1000,
                         'out_packets': 0, 'rx_throughput_mbps': 10,
                         'tx_throughput_mbps': 10, 'rx_throughput_fps': 20}}
     self.assertDictEqual(expected,
                          r_f_c2544_profile.get_drop_percentage(
                              traffic_generator, samples,
                              tol_min, tolerance))
示例#2
0
    def test_execute_latency(self):
        traffic_generator = mock.Mock(autospec=TrexProfile)
        traffic_generator.networks = {
            "private_0": ["xe0"],
            "public_0": ["xe1"],
        }
        traffic_generator.client = \
            mock.Mock(return_value=True)
        r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
        r_f_c2544_profile.params = self.PROFILE
        r_f_c2544_profile.first_run = True
        samples = {}
        for ifname in range(1):
            name = "xe{}".format(ifname)
            samples[name] = {"rx_throughput_fps": 20,
                             "tx_throughput_fps": 20,
                             "rx_throughput_mbps": 10,
                             "tx_throughput_mbps": 10,
                             "in_packets": 1000,
                             "out_packets": 0}

        samples['Throughput'] = 4549093.33
        r_f_c2544_profile.calculate_pps = mock.Mock(return_value=[2274546.67,
                                                                  1.0])

        self.assertIsNone(r_f_c2544_profile.execute_latency(traffic_generator,
                                                            samples))
示例#3
0
 def test_calculate_pps(self):
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile.rate = 100
     r_f_c2544_profile.pps = 100
     samples = {'Throughput': 4549093.33}
     self.assertEqual((2274546.67, 1.0),
                      r_f_c2544_profile.calculate_pps(samples))
示例#4
0
 def test_execute(self):
     traffic_generator = mock.Mock(autospec=TrexProfile)
     traffic_generator.my_ports = [0, 1]
     traffic_generator.client = \
         mock.Mock(return_value=True)
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile.params = self.PROFILE
     r_f_c2544_profile.first_run = True
     self.assertEqual(None, r_f_c2544_profile.execute(traffic_generator))
示例#5
0
 def test_execute(self):
     traffic_generator = mock.Mock(autospec=TrexProfile)
     traffic_generator.networks = {
         "uplink_0": ["xe0"],
         "downlink_0": ["xe1"],
     }
     traffic_generator.client.return_value = True
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile.params = self.PROFILE
     r_f_c2544_profile.first_run = True
     self.assertIsNone(r_f_c2544_profile.execute_traffic(traffic_generator))
示例#6
0
    def test_get_drop_percentage_update(self):
        traffic_generator = mock.Mock(autospec=RFC2544Profile)
        traffic_generator.my_ports = [0, 1]
        traffic_generator.priv_ports = [0]
        traffic_generator.pub_ports = [1]
        traffic_generator.client = mock.Mock(return_value=True)

        r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
        r_f_c2544_profile.params = self.PROFILE
        r_f_c2544_profile.register_generator(traffic_generator)
        self.assertIsNone(r_f_c2544_profile.execute())

        samples = {}
        for ifname in range(1):
            name = "xe{}".format(ifname)
            samples[name] = {
                "rx_throughput_fps": 20,
                "tx_throughput_fps": 20,
                "rx_throughput_mbps": 10,
                "tx_throughput_mbps": 10,
                "in_packets": 1000,
                "out_packets": 1002,
            }
        tol_min = 0.0
        tolerance = 1.0
        expected = {
            'DropPercentage': 0.1996,
            'RxThroughput': 33.333333333333336,
            'TxThroughput': 33.4,
            'CurrentDropPercentage': 0.1996,
            'Throughput': 66.66666666666667,
            'xe0': {
                'tx_throughput_fps': 20,
                'in_packets': 1000,
                'out_packets': 1002,
                'rx_throughput_mbps': 10,
                'tx_throughput_mbps': 10,
                'rx_throughput_fps': 20,
            },
        }
        traffic_generator.generate_samples = mock.MagicMock(
            return_value=samples)
        traffic_generator.RUN_DURATION = 30
        traffic_generator.rfc2544_helper.tolerance_low = 0.0001
        traffic_generator.rfc2544_helper.tolerance_high = 0.0001
        result = r_f_c2544_profile.get_drop_percentage(traffic_generator)
        self.assertDictEqual(expected, result)
示例#7
0
    def test_get_drop_percentage(self):
        traffic_generator = mock.Mock(autospec=TrexProfile)
        traffic_generator.networks = {
            "uplink_0": ["xe0"],
            "downlink_0": ["xe1"],
        }
        traffic_generator.client.return_value = True

        r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
        r_f_c2544_profile.params = self.PROFILE
        r_f_c2544_profile.register_generator(traffic_generator)
        self.assertIsNone(r_f_c2544_profile.execute_traffic(traffic_generator))

        samples = {}
        for ifname in range(1):
            name = "xe{}".format(ifname)
            samples[name] = {
                "rx_throughput_fps": 20,
                "tx_throughput_fps": 20,
                "rx_throughput_mbps": 10,
                "tx_throughput_mbps": 10,
                "in_packets": 1000,
                "out_packets": 1000,
            }

        expected = {
            'DropPercentage': 0.0,
            'RxThroughput': 100 / 3.0,
            'TxThroughput': 100 / 3.0,
            'CurrentDropPercentage': 0.0,
            'Throughput': 66.66666666666667,
            'xe0': {
                'tx_throughput_fps': 20,
                'in_packets': 1000,
                'out_packets': 1000,
                'rx_throughput_mbps': 10,
                'tx_throughput_mbps': 10,
                'rx_throughput_fps': 20,
            },
        }
        traffic_generator.generate_samples.return_value = samples
        traffic_generator.RUN_DURATION = 30
        traffic_generator.rfc2544_helper.tolerance_low = 0.0001
        traffic_generator.rfc2544_helper.tolerance_high = 0.0001
        result = r_f_c2544_profile.get_drop_percentage(traffic_generator)
        self.assertDictEqual(result, expected)
示例#8
0
 def test_get_drop_percentage_div_zero(self):
     traffic_generator = mock.Mock(autospec=TrexProfile)
     traffic_generator.my_ports = [0, 1]
     traffic_generator.priv_ports = [0]
     traffic_generator.pub_ports = [1]
     traffic_generator.client = \
         mock.Mock(return_value=True)
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile.params = self.PROFILE
     self.assertEqual(None, r_f_c2544_profile.execute(traffic_generator))
     samples = {}
     for ifname in range(1):
         name = "xe{}".format(ifname)
         samples[name] = {
             "rx_throughput_fps": 20,
             "tx_throughput_fps": 20,
             "rx_throughput_mbps": 10,
             "tx_throughput_mbps": 10,
             "in_packets": 1000,
             "out_packets": 0
         }
     tol_min = 0.0
     tolerance = 0.0
     r_f_c2544_profile.throughput_max = 0
     expected = {
         'DropPercentage': 100.0,
         'RxThroughput': 100 / 3.0,
         'TxThroughput': 0.0,
         'CurrentDropPercentage': 100.0,
         'Throughput': 66.66666666666667,
         'xe0': {
             'tx_throughput_fps': 20,
             'in_packets': 1000,
             'out_packets': 0,
             'rx_throughput_mbps': 10,
             'tx_throughput_mbps': 10,
             'rx_throughput_fps': 20
         }
     }
     traffic_generator.generate_samples = mock.MagicMock(
         return_value=samples)
     traffic_generator.RUN_DURATION = 30
     traffic_generator.rfc2544_helper.tolerance_low = 0.0001
     traffic_generator.rfc2544_helper.tolerance_high = 0.0001
     self.assertDictEqual(
         expected, r_f_c2544_profile.get_drop_percentage(traffic_generator))
示例#9
0
 def test___init__(self):
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     self.assertIsNotNone(r_f_c2544_profile.rate)
示例#10
0
 def test_create_single_stream_no_pg_id(self):
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile._create_single_packet = mock.MagicMock()
     r_f_c2544_profile.pg_id = 0
     self.assertIsNotNone(
         r_f_c2544_profile.create_single_stream(64, 2274546.67))
示例#11
0
 def test_get_multiplier(self):
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     r_f_c2544_profile.max_rate = 100
     r_f_c2544_profile.min_rate = 100
     self.assertEqual("1.0", r_f_c2544_profile.get_multiplier())
示例#12
0
 def test___init__(self):
     r_f_c2544_profile = RFC2544Profile(self.TRAFFIC_PROFILE)
     assert r_f_c2544_profile.rate