• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import os
2import sys
3import unittest
4
5try:
6    from _testinternalcapi import perf_map_state_teardown, write_perf_map_entry
7except ImportError:
8    raise unittest.SkipTest("requires _testinternalcapi")
9
10
11if sys.platform != 'linux':
12    raise unittest.SkipTest('Linux only')
13
14
15class TestPerfMapWriting(unittest.TestCase):
16    def test_write_perf_map_entry(self):
17        self.assertEqual(write_perf_map_entry(0x1234, 5678, "entry1"), 0)
18        self.assertEqual(write_perf_map_entry(0x2345, 6789, "entry2"), 0)
19        with open(f"/tmp/perf-{os.getpid()}.map") as f:
20            perf_file_contents = f.read()
21            self.assertIn("1234 162e entry1", perf_file_contents)
22            self.assertIn("2345 1a85 entry2", perf_file_contents)
23        perf_map_state_teardown()
24