refactor verify_queuestats and move to testutils
diff --git a/tests/FuncUtils.py b/tests/FuncUtils.py
index 0c55de6..cbbf87e 100644
--- a/tests/FuncUtils.py
+++ b/tests/FuncUtils.py
@@ -512,43 +512,6 @@
self.assertEqual(expect_active, active ,"active counter is not incremented properly")
-def verify_queuestats(self,port_num,queue_id,expect_packet=None,expect_byte=None):
-
- # Verify queue counters : tx_packets and tx_bytes
-
- request = message.queue_stats_request()
- request.port_no = port_num
- request.queue_id = queue_id
-
- for i in range(0,100):
-
- logging.info("Sending stats request")
-
- (queue_stats, p) = self.controller.transact(request)
- self.assertNotEqual(queue_stats, None, "Queue stats request failed")
- packet_counter = 0
- byte_counter = 0
-
- for item in queue_stats.stats:
- packet_counter += item.tx_packets
- byte_counter += item.tx_bytes
-
- logging.info("Transmitted" + str(packet_counter) + " packets")
- logging.info("Transmitted" + str(byte_counter) + "bytes")
-
- if (expect_packet == None or packet_counter == expect_packet) and \
- (expect_byte == None or byte_counter == expect_byte):
- break
-
- sleep(0.1)
-
- if expect_packet != None :
- self.assertEqual(packet_counter,expect_packet,"tx_packets counter is not incremented correctly")
-
- if expect_byte != None :
- self.assertEqual(byte_counter,expect_byte,"tx_bytes counter is not incremented correctly")
-
-
############################## Various delete commands #############################################################################################
def strict_delete(self,match,priority=None):
diff --git a/tests/counters.py b/tests/counters.py
index c30ba51..be6c979 100644
--- a/tests/counters.py
+++ b/tests/counters.py
@@ -374,7 +374,7 @@
delete_all_flows(self.controller)
# Get Queue stats for selected egress queue only
- (qs_before,p) = get_queuestats(self,egress_port,egress_queue_id)
+ initial_stats = get_queue_stats(self, egress_port, egress_queue_id)
#Insert a flow with enqueue action to queues configured on egress_port
(pkt,match) = enqueue(self,ingress_port,egress_port,egress_queue_id)
@@ -382,9 +382,8 @@
#Send packet on the ingress_port and verify its received on egress_port
send_packet(self,pkt,ingress_port,egress_port)
- expected_packets = qs_before.stats[0].tx_packets+1
-
- verify_queuestats(self,egress_port,egress_queue_id,expect_packet=expected_packets)
+ verify_queue_stats(self, egress_port, egress_queue_id,
+ initial=initial_stats, pkts=1)
class TxBytPerQueue(base_tests.SimpleDataPlane):
@@ -413,7 +412,7 @@
delete_all_flows(self.controller)
# Get Queue stats for selected egress queue only
- (qs_before,p) = get_queuestats(self,egress_port,egress_queue_id)
+ initial_stats = get_queue_stats(self, egress_port, egress_queue_id)
#Insert a flow with enqueue action to queues configured on egress_port
(pkt,match) = enqueue(self,ingress_port,egress_port,egress_queue_id)
@@ -421,9 +420,9 @@
#Send packet on the ingress_port and verify its received on egress_port
send_packet(self,pkt,ingress_port,egress_port)
- expected_bytes = qs_before.stats[0].tx_bytes+len(str(pkt))
-
- verify_queuestats(self,egress_port,egress_queue_id,expect_byte=expected_bytes)
+ verify_queue_stats(self, egress_port, egress_queue_id,
+ initial=initial_stats,
+ bytes=len(str(pkt)))
class RxDrops(base_tests.SimpleDataPlane):