tests: added a simple perfmon plugin test 36/39836/3
authoradrianvillin <avillin@cisco.com>
Tue, 7 Nov 2023 09:18:24 +0000 (10:18 +0100)
committerDave Wallace <dwallacelf@gmail.com>
Wed, 8 Nov 2023 17:08:34 +0000 (17:08 +0000)
Type: test

Change-Id: Ief0c0e13a2c19a03b48219d9a0d85256fb0c9dbe
Signed-off-by: adrianvillin <avillin@cisco.com>
test/asf/test_perfmon.py [new file with mode: 0644]

diff --git a/test/asf/test_perfmon.py b/test/asf/test_perfmon.py
new file mode 100644 (file)
index 0000000..448a601
--- /dev/null
@@ -0,0 +1,42 @@
+from asfframework import VppAsfTestCase, VppTestRunner
+import unittest
+
+
+class TestPerfmon(VppAsfTestCase):
+    """Simple perfmon test"""
+
+    @classmethod
+    def setUpClass(cls):
+        super(TestPerfmon, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestPerfmon, cls).tearDownClass()
+
+    def test_perfmon(self):
+        reply = self.vapi.cli("show perfmon active-bundle")
+        self.assertNotIn("context-switches", reply)
+
+        reply = self.vapi.cli("show perfmon bundle")
+        self.assertIn("context-switches", reply)
+
+        self.vapi.cli("perfmon start bundle context-switches type thread")
+        reply = self.vapi.cli("show perfmon active-bundle")
+        self.assertIn("name: context-switches", reply)
+
+        reply = self.vapi.cli("show perfmon statistics")
+        self.assertIn("per-thread context switches", reply)
+
+        reply = self.vapi.cli("show perfmon source linux verbose")
+        self.assertIn("description: Linux kernel performance counters", reply)
+        self.vapi.cli("perfmon reset")
+
+        reply = self.vapi.cli("show perfmon active-bundle")
+        self.assertNotIn("context-switches", reply)
+
+        self.vapi.cli("perfmon start bundle context-switches type thread")
+        self.vapi.cli("perfmon stop")
+
+
+if __name__ == "__main__":
+    unittest.main(testRunner=VppTestRunner)