[dts] [PATCH V1] tests/generic_flow_api: add two test cases

Tu, Lijuan lijuan.tu at intel.com
Tue Aug 10 08:30:51 CEST 2021



> -----Original Message-----
> From: dts <dts-bounces at dpdk.org> On Behalf Of Lingli Chen
> Sent: 2021年7月30日 23:11
> To: dts at dpdk.org
> Cc: Chen, LingliX <linglix.chen at 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 at 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



More information about the dts mailing list