예제 #1
0
    def test_moongen_testpmd_result_to_data_not_match(self, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)

        mock_subprocess.call().execute.return_value = None
        result = ("")
        p.result_to_data(result=result)
        self.assertTrue(p.TO_DATA)
예제 #2
0
    def test_MoongenTestPMD_setup(self, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)

        # setup() specific mocks
        mock_subprocess.call().execute.return_value = None

        p.setup()
        self.assertIsNotNone(p.client)
        self.assertTrue(p.setup_done)
예제 #3
0
    def test_moongen_testpmd_result_to_data_match(self, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)

        mock_subprocess.call().execute.return_value = None
        result = ("[REPORT]Device 1->0: Tx frames: 420161490 Rx Frames: 420161490"
                  " frame loss: 0, 0.000000% Rx Mpps: 7.002708\n[REPORT]      "
                  "total: Tx frames: 840321216 Rx Frames: 840321216 frame loss: "
                  "0, 0.000000% Tx Mpps: 14.005388 Rx Mpps: 14.005388\n'")
        p.result_to_data(result=result)
        self.assertTrue(p.TO_DATA)
예제 #4
0
    def test_moongen_testpmd_generate_config_file(self, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)

        # setup() specific mocks
        mock_subprocess.call().execute.return_value = None

        p.generate_config_file(frame_size=1, multistream=1,
                               runBidirec="True", tg_port1_vlan=1,
                               tg_port2_vlan=2, SearchRuntime=1,
                               Package_Loss=0)
        self.assertTrue(p.CONFIG_FILE)
예제 #5
0
    def test_MoongenTestPMD_l2fwd_dpdk_setup_next(self, _, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.L2fwdargs, self.ctx)

        # setup() specific mocks
        self.mock_ssh.SSH.from_node().execute.return_value = (0, 'dummy', '')
        mock_subprocess.call().execute.return_value = None

        p.setup()
        self.assertIsNotNone(p.client)
        self.assertTrue(p.setup_done)

        p.forward_setup()
        self.assertTrue(p._is_forward_setup())
        self.assertTrue(p.forward_setup_done)
예제 #6
0
    def test_MoongenTestPMD_testpmd_is_forward_setup_yes(self, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)

        # setup() specific mocks
        mock_subprocess.call().execute.return_value = None

        p.setup()
        self.assertIsNotNone(p.client)
        self.assertTrue(p.setup_done)

        # is_dpdk_setup() specific mocks
        self.mock_ssh.SSH.from_node().execute.return_value = (0, '', '')

        result = p._is_forward_setup()
        self.assertTrue(result)
예제 #7
0
    def test_moongen_testpmd_run_falied_vsperf_execution(self, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)

        # setup() specific mocks
        self.mock_ssh.SSH.from_node().execute.return_value = (0, '', '')
        mock_subprocess.call().execute.return_value = None

        p.setup()
        self.assertIsNotNone(p.client)
        self.assertTrue(p.setup_done)

        # run() specific mocks
        mock_subprocess.call().execute.return_value = None
        mock_subprocess.call().execute.return_value = None
        self.mock_ssh.SSH.from_node().execute.return_value = (1, '', '')

        result = {}
        self.assertRaises(RuntimeError, p.run, result)
예제 #8
0
    def test_moongen_testpmd_run_ok(self, _, mock_subprocess):
        p = moongen_testpmd.MoongenTestPMD(self.TestPMDargs, self.ctx)
        p.setup_done = True
        p.forward_setup_done = True
        p.setup()

        # run() specific mocks
        p.server = self.mock_ssh.SSH.from_node()
        mock_subprocess.call().execute.return_value = None
        mock_subprocess.call().execute.return_value = None
        result = ("[REPORT]Device 1->0: Tx frames: 420161490 Rx Frames: 420161490"
                  " frame loss: 0, 0.000000% Rx Mpps: 7.002708\n[REPORT]      "
                  "total: Tx frames: 840321216 Rx Frames: 840321216 frame loss: "
                  "0, 0.000000% Tx Mpps: 14.005388 Rx Mpps: 14.005388\n'")
        self.mock_ssh.SSH.from_node().execute.return_value = (
            0, result, '')

        test_result = {}
        p.run(test_result)

        self.assertEqual(test_result['rx_mpps'], 14.005388)