| from asfframework import VppAsfTestCase, VppTestRunner |
| from vpp_qemu_utils import can_create_namespaces |
| from config import config |
| import unittest |
| |
| |
| @unittest.skipIf( |
| not can_create_namespaces("perfmon_chk"), "Test is not running with root privileges" |
| ) |
| @unittest.skipIf("perfmon" in config.excluded_plugins, "Exclude Perfmon plugin tests") |
| 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) |