From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 88657A0A0B; Mon, 25 Jan 2021 09:52:03 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7D87D140E50; Mon, 25 Jan 2021 09:52:03 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id A91B6140E32 for ; Mon, 25 Jan 2021 09:52:01 +0100 (CET) IronPort-SDR: K3LscTv73Fuh3FqLtBav/541UVmgeHFARYCajn0UeDwAPpgmLaD1i0Hmo5iEEXDoCmfhoaThJR MMKg4HSmQ8lQ== X-IronPort-AV: E=McAfee;i="6000,8403,9874"; a="167366499" X-IronPort-AV: E=Sophos;i="5.79,373,1602572400"; d="scan'208";a="167366499" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jan 2021 00:52:01 -0800 IronPort-SDR: E+Zwa1ruBQx5kZqdRkhR4QEJyT0BBRmDxo09qZD62q0XmHOkJzXyvJCZgPVlY14Rh2pys+FEVZ vhz1mNAybC6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,373,1602572400"; d="scan'208";a="471978624" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga001.fm.intel.com with ESMTP; 25 Jan 2021 00:51:59 -0800 From: yufengmx To: dts@dpdk.org, lijuan.tu@intel.com Cc: yufengmx Date: Mon, 25 Jan 2021 16:44:14 +0800 Message-Id: <20210125084414.8503-28-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210125084414.8503-1-yufengx.mo@intel.com> References: <20210125084414.8503-1-yufengx.mo@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH V1 27/27] tests/testpmd_perf: upload script. X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" upload testpmd_perf suite to support testpmd rfc2544 testing scenario. Signed-off-by: yufengmx --- tests/TestSuite_testpmd_perf.py | 102 ++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 tests/TestSuite_testpmd_perf.py diff --git a/tests/TestSuite_testpmd_perf.py b/tests/TestSuite_testpmd_perf.py new file mode 100644 index 00000000..db2eb3c7 --- /dev/null +++ b/tests/TestSuite_testpmd_perf.py @@ -0,0 +1,102 @@ +# BSD LICENSE +# +# Copyright(c) 2010-2021 Intel Corporation. All rights reserved. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Intel Corporation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +DPDK Test suite. +testpmd perf test script. +""" + +from test_case import TestCase +from perf_test_base import PerfTestBase, BIN_TYPE, MATCH_MODE, IP_TYPE + + +class TestPmdPerf(TestCase, PerfTestBase): + + # + # Test cases. + # + @property + def supported_nics(self): + return [ + 'niantic', + 'fortville_25g', + 'fortville_spirit', + 'columbiaville_100g', + 'columbiaville_25g', + 'ConnectX5_MT4121', + 'ConnectX4_LX_MT4117', + ] + + def set_up_all(self): + """ + Run at the start of each test suite. + """ + self.verify(self.nic in self.supported_nics, "Not required NIC ") + # Based on h/w type, choose how many ports to use + self.dut_ports = self.dut.get_ports(self.nic) + valports = [ + _ for _ in self.dut_ports if self.tester.get_local_port(_) != -1] + self.logger.debug(valports) + self.verify_ports_number(valports) + # get socket and cores + socket = self.dut.get_numa_id(self.dut_ports[0]) + # init common base class parameters + PerfTestBase.__init__(self, valports, socket, bin_type=BIN_TYPE.PMD) + # preset testing environment + self.perf_preset_test_environment(self.get_suite_cfg()) + + def tear_down_all(self): + """ + Run after each test suite. + """ + self.perf_test_save_results() + self.perf_destroy_resource() + + def set_up(self): + """ + Run before each test case. + """ + pass + + def tear_down(self): + """ + Run after each test case. + """ + self.dut.kill_all() + self.perf_reset_cur_case() + + def test_perf_rfc2544_ipv4_lpm(self): + self.perf_set_cur_case('test_perf_rfc2544_ipv4_lpm') + self.qt_rfc2544(l3_proto=IP_TYPE.V4, mode=MATCH_MODE.LPM) + + def test_perf_rfc2544_ipv6_lpm(self): + self.perf_set_cur_case('test_perf_rfc2544_ipv6_lpm') + self.qt_rfc2544(l3_proto=IP_TYPE.V6, mode=MATCH_MODE.LPM) -- 2.21.0