test suite reviews and discussions
 help / color / mirror / Atom feed
From: "han,yingya" <yingyax.han@intel.com>
To: dts@dpdk.org
Cc: "han,yingya" <yingyax.han@intel.com>
Subject: [dts] [PATCH V1]tests/mac_filter: fix FVL stats issue
Date: Wed, 28 Mar 2018 14:33:13 +0800	[thread overview]
Message-ID: <1522218793-101964-1-git-send-email-yingyax.han@intel.com> (raw)

In testpmd "show port stats" command is to read FVL register.
Niantic and FVL have different packet statistics when using this command.
For consistency, call the get_session_output function to check the packet.
Signed-off-by: han,yingya <yingyax.han@intel.com>
---
 tests/TestSuite_mac_filter.py | 46 ++++++++++++++++---------------------------
 1 file changed, 17 insertions(+), 29 deletions(-)

diff --git a/tests/TestSuite_mac_filter.py b/tests/TestSuite_mac_filter.py
index 1c58b87..70e23ec 100644
--- a/tests/TestSuite_mac_filter.py
+++ b/tests/TestSuite_mac_filter.py
@@ -99,56 +99,44 @@ class TestWhitelist(TestCase):
         fake_mac_addr = "00:01:01:00:00:00"
         portid = self.dutPorts[0]
         self.dut.send_expect("set promisc %d off" % portid, "testpmd> ")
-
         self.dut.send_expect("clear port stats all", "testpmd> ")
 
-        out = self.dut.send_expect("show port stats %d" % portid, "testpmd> ")
-        pre_rxpkt = utils.regexp(out, "RX-packets: ([0-9]+)")
-
         # send one packet with the portid MAC address
         self.whitelist_send_packet(portid, self.dest)
-        out = self.dut.send_expect("show port stats %d" % portid, "testpmd> ")
-        cur_rxpkt = utils.regexp(out, "RX-packets: ([0-9]+)")
+
+        # Niantic and FVL have different packet statistics when using the
+        # "show port stats" command. For consistency, can't use this command.
+        out = self.dut.get_session_output()
+        cur_rxpkt = utils.regexp(out, "received ([0-9]+) packets")
         # check the packet increase
-        self.verify(int(cur_rxpkt) == int(pre_rxpkt) + self.frames_to_send,
+        self.verify(int(cur_rxpkt) == self.frames_to_send,
                     "Packet has not been received on default address")
+
         # send one packet to a different MAC address
         # new_mac = self.dut.get_mac_address(portid)
         self.whitelist_send_packet(portid, fake_mac_addr)
-
-        pre_rxpkt = cur_rxpkt
-        out = self.dut.send_expect("show port stats %d" % portid, "testpmd> ")
-        cur_rxpkt = utils.regexp(out, "RX-packets: ([0-9]+)")
-
+        out = self.dut.get_session_output()
         # check the packet DO NOT increase
-        self.verify(int(cur_rxpkt) == int(pre_rxpkt),
+        self.verify("received" not in out,
                     "Packet has been received on a new MAC address that has not been added yet")
-        # add the different MAC address
-        out = self.dut.send_expect("mac_addr add %d" % portid + " %s" % fake_mac_addr, "testpmd>")
 
+        # add the different MAC address
+        self.dut.send_expect("mac_addr add %d" % portid + " %s" % fake_mac_addr, "testpmd>")
         # send again one packet to a different MAC address
         self.whitelist_send_packet(portid, fake_mac_addr)
-
-        pre_rxpkt = cur_rxpkt
-        out = self.dut.send_expect("show port stats %d" % portid, "testpmd> ")
-        cur_rxpkt = utils.regexp(out, "RX-packets: ([0-9]+)")
-
+        out = self.dut.get_session_output()
+        cur_rxpkt = utils.regexp(out, "received ([0-9]+) packets")
         # check the packet increase
-        self.verify(int(cur_rxpkt) == int(pre_rxpkt) + self.frames_to_send,
+        self.verify(int(cur_rxpkt) == self.frames_to_send,
                     "Packet has not been received on a new MAC address that has been added to the port")
 
         # remove the fake MAC address
-        out = self.dut.send_expect("mac_addr remove %d" % portid + " %s" % fake_mac_addr, "testpmd>")
-
+        self.dut.send_expect("mac_addr remove %d" % portid + " %s" % fake_mac_addr, "testpmd>")
         # send again one packet to a different MAC address
         self.whitelist_send_packet(portid, fake_mac_addr)
-
-        pre_rxpkt = cur_rxpkt
-        out = self.dut.send_expect("show port stats %d" % portid, "testpmd> ")
-        cur_rxpkt = utils.regexp(out, "RX-packets: ([0-9]+)")
-
+        out = self.dut.get_session_output()
         # check the packet increase
-        self.verify(int(cur_rxpkt) == int(pre_rxpkt),
+        self.verify("received" not in out,
                     "Packet has been received on a new MAC address that has been removed from the port")
         self.dut.send_expect("stop", "testpmd> ")
 
-- 
1.9.3

             reply	other threads:[~2018-03-28  6:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-28  6:33 han,yingya [this message]
2018-03-29 10:53 ` Liu, Yong
  -- strict thread matches above, loose matches on Subject: below --
2018-03-20  4:40 han,yingya
2018-03-27  8:55 ` Liu, Yong
2018-03-28  6:38   ` Han, YingyaX

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=1522218793-101964-1-git-send-email-yingyax.han@intel.com \
    --to=yingyax.han@intel.com \
    --cc=dts@dpdk.org \
    /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).