Tests: refactor test framework to eliminate py.test
[deliverable/lttng-analyses.git] / tests / test_irq.py
1 # The MIT License (MIT)
2 #
3 # Copyright (C) 2016 - Julien Desfossez <jdesfossez@efficios.com>
4 # Antoine Busque <abusque@efficios.com>
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 # SOFTWARE.
23
24 from .analysis_test import AnalysisTest
25
26
27 class IrqTest(AnalysisTest):
28 def write_trace(self):
29 self.trace_writer.write_softirq_raise(1000, 1, 1)
30 self.trace_writer.write_softirq_raise(1001, 3, 1)
31 self.trace_writer.write_softirq_raise(1002, 1, 9)
32 self.trace_writer.write_softirq_exit(1003, 0, 4)
33 self.trace_writer.write_softirq_raise(1004, 3, 9)
34 self.trace_writer.write_softirq_raise(1005, 3, 7)
35 self.trace_writer.write_softirq_entry(1006, 3, 1)
36 self.trace_writer.write_softirq_entry(1007, 1, 1)
37 self.trace_writer.write_softirq_exit(1008, 1, 1)
38 self.trace_writer.write_softirq_exit(1009, 3, 1)
39 self.trace_writer.write_softirq_entry(1010, 1, 9)
40 self.trace_writer.write_softirq_entry(1011, 3, 7)
41 self.trace_writer.write_softirq_exit(1012, 1, 9)
42 self.trace_writer.write_softirq_exit(1013, 3, 7)
43 self.trace_writer.write_softirq_entry(1014, 3, 9)
44 self.trace_writer.write_softirq_exit(1015, 3, 9)
45 self.trace_writer.write_irq_handler_entry(1016, 0, 41, 'ahci')
46 self.trace_writer.write_softirq_raise(1017, 0, 4)
47 self.trace_writer.write_irq_handler_exit(1018, 0, 41, 1)
48 self.trace_writer.write_softirq_entry(1019, 0, 4)
49 self.trace_writer.write_softirq_exit(1020, 0, 4)
50 self.trace_writer.write_irq_handler_entry(1021, 0, 41, 'ahci')
51 self.trace_writer.write_softirq_raise(1022, 0, 4)
52 self.trace_writer.write_irq_handler_exit(1023, 0, 41, 1)
53 self.trace_writer.write_softirq_entry(1024, 0, 4)
54 self.trace_writer.write_softirq_exit(1025, 0, 4)
55 self.trace_writer.write_irq_handler_entry(1026, 0, 41, 'ahci')
56 self.trace_writer.write_softirq_raise(1027, 0, 4)
57 self.trace_writer.write_irq_handler_exit(1028, 0, 41, 1)
58 self.trace_writer.write_softirq_entry(1029, 0, 4)
59 self.trace_writer.write_softirq_exit(1030, 0, 4)
60 self.trace_writer.write_irq_handler_entry(1031, 0, 41, 'ahci')
61 self.trace_writer.write_softirq_raise(1032, 0, 4)
62 self.trace_writer.write_irq_handler_exit(1033, 0, 41, 1)
63 self.trace_writer.write_softirq_entry(1034, 0, 4)
64 self.trace_writer.write_softirq_exit(1035, 0, 4)
65 self.trace_writer.write_irq_handler_entry(1036, 0, 41, 'ahci')
66 self.trace_writer.write_softirq_raise(1037, 0, 4)
67 self.trace_writer.write_irq_handler_exit(1038, 0, 41, 1)
68 self.trace_writer.write_softirq_entry(1039, 0, 4)
69 self.trace_writer.write_softirq_exit(1040, 0, 4)
70 self.trace_writer.write_irq_handler_entry(1041, 0, 41, 'ahci')
71 self.trace_writer.write_softirq_raise(1042, 0, 4)
72 self.trace_writer.write_irq_handler_exit(1043, 0, 41, 1)
73 self.trace_writer.write_softirq_entry(1044, 0, 4)
74 self.trace_writer.write_softirq_exit(1045, 0, 4)
75 self.trace_writer.flush()
76
77 def test_irqstats(self):
78 expected = self.get_expected_output('irqstats.txt')
79 result = self.get_cmd_output('lttng-irqstats')
80
81 self.assertMultiLineEqual(result, expected)
82
83 def test_irqlog(self):
84 expected = self.get_expected_output('irqlog.txt')
85 result = self.get_cmd_output('lttng-irqlog')
86
87 self.assertMultiLineEqual(result, expected)
This page took 0.032146 seconds and 5 git commands to generate.