5e767e270cf661d5096dc0a6bd8a9d4e17cb5fbb
[deliverable/lttng-analyses.git] / tests / test_cputop.py
1 from TraceTest import AnalysesTest
2 import sys
3
4
5 class CpuTest(AnalysesTest):
6 def __init__(self, delete_trace=True, verbose=False):
7 super().__init__(delete_trace=delete_trace,
8 verbose=verbose)
9 self.test_list = [('cputop', self.run_no_option)]
10
11 def write_trace(self):
12 # runs the whole time: 100%
13 self.t.write_sched_switch(1000, 5, "swapper/5", 0, "prog100pc-cpu5", 42)
14 # runs for 2s alternating with swapper out every 100ms
15 self.t.sched_switch_50pc(1100, 5000, 0, 100,
16 "swapper/0", 0, "prog20pc-cpu0", 30664)
17 # runs for 2.5s alternating with swapper out every 100ms
18 self.t.sched_switch_50pc(5100, 10000, 1, 100,
19 "swapper/1", 0, "prog25pc-cpu1", 30665)
20 # switch out prog100pc-cpu5
21 self.t.write_sched_switch(11000, 5, "prog100pc-cpu5", 42, "swapper/5", 0)
22 self.t.flush()
23
24 def run_no_option(self):
25 expected = """Timerange: [1969-12-31 19:00:01.000000000, 1969-12-31 19:00:11.000000000]
26 Per-TID CPU Usage
27 ###############################################################################
28 ██████████████████████████████████████████████████ 100.00 % prog100pc-cpu5 (42) (prio: 20)
29 ████████████ 25.00 % prog25pc-cpu1 (30665) (prio: 20)
30 ██████████ 20.00 % prog20pc-cpu0 (30664) (prio: 20)
31 Per-CPU Usage
32 ###############################################################################
33 █████████████ 20.00 % CPU 0
34 ████████████████ 25.00 % CPU 1
35 █████████████████████████████████████████████████████████████████ 100.00 % CPU 5
36
37 Total CPU Usage: 48.33%
38 """
39
40 return self.compare_output('%slttng-cputop %s "%s"' % (
41 self.cmd_root, self.common_options, self.t.trace_root),
42 expected)
43
44
45 def test_answer():
46 t = CpuTest(verbose=True)
47 ok = t.run()
48 assert(ok)
This page took 0.032229 seconds and 4 git commands to generate.