vpp/test/asf/test_perfmon.py
adrianvillin 5cc67aacf0 tests: perfmon - Added a check if test is running with root privileges
Type: test

Change-Id: I1910f3ef79e9018aee032daca0f1932eccb7b9f9
Signed-off-by: adrianvillin <avillin@cisco.com>
2023-11-10 11:45:25 +01:00

49 lines
1.6 KiB
Python

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)