[dts] [PATCH V1] remove duplicate external mempool handler test plan and script
Tu, Lijuan
lijuan.tu at intel.com
Tue Feb 26 08:21:29 CET 2019
Hi lihong,
Could you kindly please rework this patch?
Applying: remove duplicate external mempool handler test plan and script
error: patch failed: tests/TestSuite_mempool_exthandler.py:1
error: tests/TestSuite_mempool_exthandler.py: patch does not apply
Patch failed at 0001 remove duplicate external mempool handler test plan and script
> -----Original Message-----
> From: dts [mailto:dts-bounces at dpdk.org] On Behalf Of lihong
> Sent: Tuesday, February 19, 2019 3:11 AM
> To: dts at dpdk.org
> Cc: Ma, LihongX <lihongx.ma at intel.com>
> Subject: [dts] [PATCH V1] remove duplicate external mempool handler test plan
> and script
>
> The content of external_mempool_handler_test_plan.rst is repeated with
> mempool_exthandler_test_plan.rst The content of
> TestSuite_external_mempool_handler.py is repeated with
> TestSuite_mempool_exthandler.py
>
> Signed-off-by: lihong <lihongx.ma at intel.com>
> ---
> test_plans/mempool_exthandler_test_plan.rst | 70 -----------
> tests/TestSuite_mempool_exthandler.py | 173 ----------------------------
> 2 files changed, 243 deletions(-)
> delete mode 100644 test_plans/mempool_exthandler_test_plan.rst
> delete mode 100644 tests/TestSuite_mempool_exthandler.py
>
> diff --git a/test_plans/mempool_exthandler_test_plan.rst
> b/test_plans/mempool_exthandler_test_plan.rst
> deleted file mode 100644
> index 86154c6..0000000
> --- a/test_plans/mempool_exthandler_test_plan.rst
> +++ /dev/null
> @@ -1,70 +0,0 @@
> -.. Copyright (c) <2016-2017>, Intel Corporation
> - 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.
> -
> -==============================
> -External Mempool Handler Tests
> -==============================
> -
> -External Mempool Handler feature is an extension to the mempool API that -
> allows users to add and use an alternative mempool handler, which allows -
> external memory subsystems such as external hardware memory management -
> systems and software based memory allocators to be used with DPDK.
> -
> -Test Case 1: Multiple producers and multiple consumers mempool handler -
> =================================================================
> =====
> -
> -1. Change default mempool operation to "ring_mp_mc"
> -2. Run l2fwd and check packet forwarding normally with this mempool handler.
> -
> -Test Case 2: Single producer and Single consumer mempool handler -
> ================================================================
> -
> -1. Change default mempool operation to "ring_sp_sc"
> -2. Run l2fwd and check packet forwarding normally with this mempool handler.
> -
> -Test Case 3: Single producer and Multiple consumers mempool handler -
> =================================================================
> ==
> -
> -1. Change default mempool operation to "ring_sp_mc"
> -2. Run l2fwd and check packet forwarding normally with this mempool handler.
> -
> -Test Case 4: Multiple producers and single consumer mempool handler -
> =================================================================
> ==
> -
> -1. Change default mempool operation to "ring_mp_sc"
> -2. Run l2fwd and check packet forwarding normally with this mempool handler.
> -
> -Test Case 5: External stack mempool handler -
> ===========================================
> -
> -1. Change default mempool operation to "stack"
> -2. Run l2fwd and check packet forwarding normally with this mempool handler.
> diff --git a/tests/TestSuite_mempool_exthandler.py
> b/tests/TestSuite_mempool_exthandler.py
> deleted file mode 100644
> index 10fbd1d..0000000
> --- a/tests/TestSuite_mempool_exthandler.py
> +++ /dev/null
> @@ -1,173 +0,0 @@
> -# BSD LICENSE
> -#
> -# Copyright(c) 2010-2016 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.
> -Test internal and external mempool handler -"""
> -
> -import utils
> -from test_case import TestCase
> -
> -
> -class TestMemExthandler(TestCase):
> -
> - def set_up_all(self):
> - """
> - Run at the start of each test suite.
> - """
> - # only one port is enought for this case
> - self.dut_ports = self.dut.get_ports()
> - self.verify(len(self.dut_ports) >= 1,
> - "Not enough ports for " + self.nic)
> -
> - self.core_mask = utils.create_mask(self.dut.get_core_list("1S/4C/1T"))
> - self.port_mask = utils.create_mask([self.dut_ports[0]])
> -
> - self.path = "./examples/l2fwd/build/app/l2fwd"
> -
> - # strip mempool size
> - self.main_path = "./examples/l2fwd/main.c"
> - out = self.dut.send_expect(
> - "cat %s | grep \"#define NB_MBUF\"" % self.main_path, "# ")
> - mp_str = utils.regexp(out, r"#define NB_MBUF (\d+)")
> - if mp_str is None:
> - mp_size = 8192
> - else:
> - mp_size = int(mp_str)
> -
> - # make sure packets more than 2*mempool size
> - self.pkts = mp_size * 2 + 1000
> -
> - def set_up(self):
> - """
> - Run before each test case.
> - """
> - pass
> -
> - def setup_mempool_handler(self, name):
> - """
> - Prepare testing environment for specified mempool handler
> - """
> - config = "CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS"
> - conf_file = "./config/common_base"
> - # change default mempool handler operations
> - self.dut.send_expect(
> - "sed -i 's/%s=.*$/%s=\"%s\"/' %s" % (config, config, name, conf_file), "#
> ")
> - # rebuild dpdk target
> - self.dut.skip_setup = False
> - self.dut.build_install_dpdk(self.target)
> - # rebuild l2fwd
> - out = self.dut.build_dpdk_apps("./examples/l2fwd")
> - self.verify("Error" not in out, "Compilation error")
> -
> - def verify_mempool_hander(self):
> - """
> - Verify all packets recevied and transmitted normally.
> - """
> - # start l2fwd
> - command_line = "%s -n %d -c %s -- -q 4 -p %s" % \
> - (self.path, self.dut.get_memory_channels(),
> - self.core_mask, self.port_mask)
> - # send packets over 2 * mempool size
> - self.dut.send_expect(command_line, "L2FWD: entering main loop", 60)
> -
> - # verify forwarded packets
> - traffic_flow = []
> - tx_port = self.tester.get_local_port(self.dut_ports[0])
> - rx_port = self.tester.get_local_port(self.dut_ports[0])
> - traffic_flow.append((tx_port, rx_port))
> -
> - result = self.tester.check_random_pkts(traffic_flow,
> - pktnum=self.pkts,
> - allow_miss=False)
> -
> - self.verify(result is True, "Packet integrity check failed")
> -
> - # strip rx/tx statistic from l2fwd output
> - out = self.dut.get_session_output()
> - self.dut.send_expect("^C", "#", 30)
> - sent_list = utils.regexp(out, r"Total packets sent:(\s+)(\d+)", allString=True)
> - total_sent = int(sent_list[-1][1])
> - rcv_list = utils.regexp(out, r"Total packets received:(\s+)(\d+)",
> allString=True)
> - total_recv = int(rcv_list[-1][1])
> -
> - self.verify(total_recv == self.pkts, "L2fwd sample not receive expected
> packets")
> - self.verify(total_sent == self.pkts, "L2fwd sample not transmit expected
> packets")
> -
> - def test_mempool_stackhandler(self):
> - """
> - Check packet rx/tx work with mempool stack handler.
> - """
> - self.setup_mempool_handler("stack")
> - self.verify_mempool_hander()
> -
> - def test_mempool_spsc(self):
> - """
> - Check packet rx/tx work with single producer/single consumer.
> - """
> - self.setup_mempool_handler("ring_sp_sc")
> - self.verify_mempool_hander()
> -
> - def test_mempool_spmc(self):
> - """
> - Check packet rx/tx work with single producer/multi consumers.
> - """
> - self.setup_mempool_handler("ring_sp_mc")
> - self.verify_mempool_hander()
> -
> - def test_mempool_mpsc(self):
> - """
> - Check packet rx/tx work with multi producers/single consumer.
> - """
> - self.setup_mempool_handler("ring_mp_sc")
> - self.verify_mempool_hander()
> -
> - def test_mempool_mpmc(self):
> - """
> - Check packet rx/tx work with multi producers/multi consumers.
> - """
> - self.setup_mempool_handler("ring_mp_mc")
> - self.verify_mempool_hander()
> -
> - def tear_down(self):
> - """
> - Run after each test case.
> - """
> - self.dut.kill_all()
> - pass
> -
> - def tear_down_all(self):
> - """
> - Run after each test suite.
> - """
> - self.setup_mempool_handler("ring_mp_mc")
> - pass
> --
> 2.7.4
More information about the dts
mailing list