nat: use correct data types for memory sizes
[vpp.git] / test / test_stats_client.py
index 87c9efd..7d0c91f 100644 (file)
@@ -1,7 +1,7 @@
-#!/usr/bin/env python2.7
+#!/usr/bin/env python3
 
 import unittest
-
+import time
 import psutil
 from vpp_papi.vpp_stats import VPPStats
 
@@ -19,6 +19,12 @@ class StatsClientTestCase(VppTestCase):
     def tearDownClass(cls):
         super(StatsClientTestCase, cls).tearDownClass()
 
+    def test_set_errors(self):
+        """Test set errors"""
+        self.assertEqual(self.statistics.set_errors(), {})
+        self.assertEqual(self.statistics.get_counter('/err/ethernet-input/no'),
+                         [0])
+
     def test_client_fd_leak(self):
         """Test file descriptor count - VPP-1486"""
 
@@ -37,5 +43,25 @@ class StatsClientTestCase(VppTestCase):
                          "ending client side file descriptor count: %s" % (
                              initial_fds, ending_fds))
 
+    @unittest.skip("Manual only")
+    def test_mem_leak(self):
+        def loop():
+            print('Running loop')
+            for i in range(50):
+                rv = self.vapi.papi.tap_create_v2(id=i, use_random_mac=1)
+                self.assertEqual(rv.retval, 0)
+                rv = self.vapi.papi.tap_delete_v2(sw_if_index=rv.sw_if_index)
+                self.assertEqual(rv.retval, 0)
+
+        before = self.statistics.get_counter('/mem/statseg/used')
+        loop()
+        self.vapi.cli("memory-trace on stats-segment")
+        for j in range(100):
+            loop()
+        print(self.vapi.cli("show memory stats-segment verbose"))
+        print('AFTER', before,
+              self.statistics.get_counter('/mem/statseg/used'))
+
+
 if __name__ == '__main__':
     unittest.main(testRunner=VppTestRunner)