From: "Tu, Lijuan" <lijuan.tu@intel.com>
To: "Chen, LingliX" <linglix.chen@intel.com>, "dts@dpdk.org" <dts@dpdk.org>
Cc: "Chen, LingliX" <linglix.chen@intel.com>,
"Lin, Xueqin" <xueqin.lin@intel.com>
Subject: Re: [dts] [PATCH V1] tests/generic_flow_api: add two test cases
Date: Tue, 10 Aug 2021 06:30:51 +0000 [thread overview]
Message-ID: <10dfa56804c04ffead8eb6bb164563da@intel.com> (raw)
In-Reply-To: <20210730151031.27163-1-linglix.chen@intel.com>
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Lingli Chen
> Sent: 2021年7月30日 23:11
> To: dts@dpdk.org
> Cc: Chen, LingliX <linglix.chen@intel.com>
> Subject: [dts] [PATCH V1] tests/generic_flow_api: add two test cases
>
> add new i40e test cases.
1, the 2 cases are i40e specific, but I do not see any verification based on NIC type, furthermore, checklist should be updated too.
2, no any exception management. If exception happened, testpmd didn't quit as expected, it absolutely will impact other cases.
3, test plan and test cases should be coupled in the same series.
>
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
> ---
> tests/TestSuite_generic_flow_api.py | 54 +++++++++++++++++++++++++++++
> 1 file changed, 54 insertions(+)
>
> diff --git a/tests/TestSuite_generic_flow_api.py
> b/tests/TestSuite_generic_flow_api.py
> index b97b49f2..546e63a7 100644
> --- a/tests/TestSuite_generic_flow_api.py
> +++ b/tests/TestSuite_generic_flow_api.py
> @@ -2487,6 +2487,60 @@ class TestGeneric_flow_api(TestCase):
> flag = 0
> self.verify(flag, "The packet index %d and %d hash values are same,
> rss_granularity_config failed!" %(result_rows[3][0],result_rows[4][0]))
>
> + def test_create_same_rule_after_destroy(self):
> +
> + self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --
> txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1))
> + self.dut.send_expect("set fwd rxonly", "testpmd> ", 120)
> + self.dut.send_expect("set verbose 1", "testpmd> ", 120)
> + self.dut.send_expect("start", "testpmd> ", 120)
> + time.sleep(2)
> +
> + self.dut.send_expect(
> + "flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions
> queue index 2 / end", "created")
> +
> + out = self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ")
> + p = re.compile(r"Flow rule #(\d+) destroyed")
> + m = p.search(out)
> + self.verify(m, "flow rule 0 delete failed" )
> +
> + self.dut.send_expect(
> + "flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions
> queue index 2 / end", "created")
> +
> + self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(sport=32)/Raw("x" * 20)' %
> self.pf_mac)
> + self.verify_result("pf", expect_rxpkts="1", expect_queue="2",
> verify_mac=self.pf_mac)
> + self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(dport=32)/Raw("x" * 20)' %
> self.pf_mac)
> + self.verify_result("pf", expect_rxpkts="1", expect_queue="0",
> verify_mac=self.pf_mac)
> +
> + self.dut.send_expect("quit", "# ")
> + time.sleep(2)
> +
> + def test_create_different_rule_after_destroy(self):
> +
> + self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --
> txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1))
> + self.dut.send_expect("set fwd rxonly", "testpmd> ", 120)
> + self.dut.send_expect("set verbose 1", "testpmd> ", 120)
> + self.dut.send_expect("start", "testpmd> ", 120)
> + time.sleep(2)
> +
> + self.dut.send_expect(
> + "flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions
> queue index 2 / end", "created")
> +
> + out = self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ")
> + p = re.compile(r"Flow rule #(\d+) destroyed")
> + m = p.search(out)
> + self.verify(m, "flow rule 0 delete failed" )
> +
> + self.dut.send_expect(
> + "flow create 0 ingress pattern eth / ipv4 / udp dst is 32 / end actions
> queue index 2 / end", "created")
> +
> + self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(dport=32)/Raw("x" * 20)' %
> self.pf_mac)
> + self.verify_result("pf", expect_rxpkts="1", expect_queue="2",
> verify_mac=self.pf_mac)
> + self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(sport=32)/Raw("x" * 20)' %
> self.pf_mac)
> + self.verify_result("pf", expect_rxpkts="1", expect_queue="0",
> verify_mac=self.pf_mac)
> +
> + self.dut.send_expect("quit", "# ")
> + time.sleep(2)
> +
> def tear_down(self):
> """
> Run after each test case.
> --
> 2.17.1
prev parent reply other threads:[~2021-08-10 6:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-30 15:10 Lingli Chen
2021-07-30 6:44 ` Chen, LingliX
2021-08-02 9:54 ` Lin, Xueqin
2021-08-10 6:30 ` Tu, Lijuan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=10dfa56804c04ffead8eb6bb164563da@intel.com \
--to=lijuan.tu@intel.com \
--cc=dts@dpdk.org \
--cc=linglix.chen@intel.com \
--cc=xueqin.lin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).