import sys import unittest from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent)) import thread_cpu as tc class ThreadCpuTests(unittest.TestCase): def test_groups_by_name_and_counts_new_threads_from_zero(self): before = {"1": ("main", 100), "2": ("worker", 10)} after = {"1": ("main", 150), "2": ("worker", 20), "3": ("worker", 30)} rows = tc.per_name(before, after, seconds=1.0, hz=100) self.assertEqual(rows[0], ("main", 50.0, 1)) self.assertEqual(rows[1], ("worker", 40.0, 2)) # 10 + 30 ticks def test_samples_this_process(self): import os threads = tc.sample(os.getpid()) self.assertIn(str(os.getpid()), threads) if __name__ == "__main__": unittest.main()