1<runtests>
2<test name="one_function">
3  <executable name="simpleperf_runtest_one_function"/>
4
5  <symbol_overhead>
6    <symbol name="Function1()" min="90" max="100"/>
7  </symbol_overhead>
8
9  <symbol_children_overhead>
10    <symbol name="main" min="90" max="100"/>
11  </symbol_children_overhead>
12
13  <symbol_callgraph_relation>
14    <symbol name="Function1()">
15      <symbol name="main"/>
16    </symbol>
17  </symbol_callgraph_relation>
18</test>
19
20<test name="two_functions">
21  <executable name="simpleperf_runtest_two_functions"/>
22
23  <symbol_overhead>
24    <symbol name="Function1()" min="30" max="70"/>
25    <symbol name="Function2()" min="30" max="70"/>
26  </symbol_overhead>
27
28  <symbol_children_overhead>
29    <symbol name="main" min="90" max="100"/>
30  </symbol_children_overhead>
31
32  <symbol_callgraph_relation>
33    <symbol name="Function1()">
34      <symbol name="main"/>
35    </symbol>
36    <symbol name="Function2()">
37      <symbol name="main"/>
38    </symbol>
39  </symbol_callgraph_relation>
40</test>
41
42<test name="function_fork">
43  <executable name="simpleperf_runtest_function_fork"/>
44  <report option="--sort comm,symbol"/>
45
46  <symbol_overhead>
47    <symbol name="ParentFunction()" min="10" max="90"/>
48    <symbol name="ChildFunction()" min="10" max="90"/>
49  </symbol_overhead>
50
51  <symbol_children_overhead>
52    <symbol name="main" min="10"/>
53  </symbol_children_overhead>
54
55  <symbol_callgraph_relation>
56    <symbol name="ParentFunction()">
57      <symbol name="main"/>
58    </symbol>
59    <symbol name="ChildFunction()">
60      <symbol name="main"/>
61    </symbol>
62  </symbol_callgraph_relation>
63</test>
64
65<test name="function_pthread">
66  <executable name="simpleperf_runtest_function_pthread"/>
67
68  <symbol_overhead>
69    <symbol name="MainThreadFunction()" min="20" max="80"/>
70    <symbol name="ChildThreadFunction(void*)" min="20" max="80"/>
71  </symbol_overhead>
72
73  <symbol_children_overhead>
74    <symbol name="main" min="20" max="80"/>
75  </symbol_children_overhead>
76
77  <symbol_callgraph_relation>
78    <symbol name="MainThreadFunction()">
79      <symbol name="main"/>
80    </symbol>
81  </symbol_callgraph_relation>
82</test>
83
84<test name="comm_change">
85  <executable name="simpleperf_runtest_comm_change"/>
86
87  <symbol_overhead>
88    <symbol name="Function1()" comm="RUN_COMM1" min="30" max="70"/>
89    <symbol name="Function1()" comm="RUN_COMM2" min="30" max="70"/>
90  </symbol_overhead>
91
92  <symbol_children_overhead>
93    <symbol name="main" comm="RUN_COMM1" min="30" max="70"/>
94    <symbol name="main" comm="RUN_COMM2" min="30" max="70"/>
95  </symbol_children_overhead>
96
97  <symbol_callgraph_relation>
98    <symbol name="Function1()" comm="RUN_COMM1">
99      <symbol name="main"/>
100    </symbol>
101    <symbol name="Function1()" comm="RUN_COMM2">
102      <symbol name="main"/>
103    </symbol>
104  </symbol_callgraph_relation>
105
106</test>
107
108<test name="function_recursive">
109  <executable name="simpleperf_runtest_function_recursive"/>
110
111  <symbol_overhead>
112    <symbol name="FunctionRecursive(int)" min="90"/>
113  </symbol_overhead>
114
115  <symbol_children_overhead>
116    <symbol name="main" min="90"/>
117  </symbol_children_overhead>
118
119  <symbol_callgraph_relation>
120    <symbol name="FunctionRecursive(int)">
121      <symbol name="FunctionRecursive(int)">
122        <symbol name="FunctionRecursive(int)">
123          <symbol name="FunctionRecursive(int)">
124            <symbol name="FunctionRecursive(int)">
125              <symbol name="FunctionRecursive(int)">
126                <symbol name="FunctionRecursive(int)">
127                  <symbol name="FunctionRecursive(int)">
128                    <symbol name="FunctionRecursive(int)">
129                      <symbol name="FunctionRecursive(int)">
130                        <symbol name="FunctionRecursive(int)">
131                          <symbol name="main"/>
132                        </symbol>
133                        <symbol name="main"/>
134                      </symbol>
135                      <symbol name="main"/>
136                    </symbol>
137                    <symbol name="main"/>
138                  </symbol>
139                  <symbol name="main"/>
140                </symbol>
141                <symbol name="main"/>
142              </symbol>
143              <symbol name="main"/>
144            </symbol>
145            <symbol name="main"/>
146          </symbol>
147          <symbol name="main"/>
148        </symbol>
149        <symbol name="main"/>
150      </symbol>
151      <symbol name="main"/>
152    </symbol>
153  </symbol_callgraph_relation>
154</test>
155
156<test name="function_indirect_recursive">
157  <executable name="simpleperf_runtest_function_indirect_recursive"/>
158
159  <symbol_overhead>
160    <symbol name="FunctionRecursiveOne(int)" min="20"/>
161    <symbol name="FunctionRecursiveTwo(int)" min="20"/>
162  </symbol_overhead>
163
164  <symbol_children_overhead>
165    <symbol name="FunctionRecursiveOne(int)" min="90"/>
166    <symbol name="FunctionRecursiveTwo(int)" min="80"/>
167  </symbol_children_overhead>
168
169  <symbol_callgraph_relation>
170    <symbol name="FunctionRecursiveOne(int)">
171      <symbol name="FunctionRecursiveTwo(int)">
172        <symbol name="FunctionRecursiveOne(int)">
173          <symbol name="FunctionRecursiveTwo(int)">
174            <symbol name="FunctionRecursiveOne(int)"/>
175          </symbol>
176          <symbol name="main"/>
177        </symbol>
178      </symbol>
179      <symbol name="main"/>
180    </symbol>
181
182    <symbol name="FunctionRecursiveTwo(int)">
183      <symbol name="FunctionRecursiveOne(int)">
184        <symbol name="FunctionRecursiveTwo(int)">
185          <symbol name="FunctionRecursiveOne(int)">
186            <symbol name="FunctionRecursiveTwo(int)">
187            </symbol>
188            <symbol name="main"/>
189          </symbol>
190        </symbol>
191        <symbol name="main"/>
192      </symbol>
193    </symbol>
194  </symbol_callgraph_relation>
195</test>
196
197<test name="selected_comm">
198  <executable name="simpleperf_runtest_comm_change"/>
199  <report option="--comms RUN_COMM1"/>
200
201  <symbol_overhead>
202    <symbol comm="RUN_COMM1" min="100" max="100"/>
203  </symbol_overhead>
204</test>
205
206<test name="run_and_sleep">
207  <executable name="simpleperf_runtest_run_and_sleep"/>
208
209  <symbol_overhead>
210    <symbol name="RunFunction()" min="80"/>
211  </symbol_overhead>
212
213</test>
214
215<test name="run_and_sleep_trace_offcpu">
216  <executable name="simpleperf_runtest_run_and_sleep"/>
217  <disable_host/>
218  <record option="--trace-offcpu"/>
219
220  <symbol_children_overhead>
221    <symbol name="RunFunction()" min="20" max="80"/>
222    <symbol name="SleepFunction(unsigned long long)" min="20" max="80"/>
223  </symbol_children_overhead>
224</test>
225
226</runtests>
227