diff options
Diffstat (limited to 'collector/perf_linux_test.go')
-rw-r--r-- | collector/perf_linux_test.go | 70 |
1 files changed, 68 insertions, 2 deletions
diff --git a/collector/perf_linux_test.go b/collector/perf_linux_test.go index fca5455..b384a65 100644 --- a/collector/perf_linux_test.go +++ b/collector/perf_linux_test.go | |||
@@ -180,8 +180,74 @@ func TestPerfCPUFlagToCPUs(t *testing.T) { | |||
180 | if test.exCpus[i] != cpus[i] { | 180 | if test.exCpus[i] != cpus[i] { |
181 | t.Fatalf( | 181 | t.Fatalf( |
182 | "expected cpus %v, got %v", | 182 | "expected cpus %v, got %v", |
183 | test.exCpus, | 183 | test.exCpus[i], |
184 | cpus, | 184 | cpus[i], |
185 | ) | ||
186 | } | ||
187 | } | ||
188 | }) | ||
189 | } | ||
190 | } | ||
191 | |||
192 | func TestPerfTracepointFlagToTracepoints(t *testing.T) { | ||
193 | tests := []struct { | ||
194 | name string | ||
195 | flag []string | ||
196 | exTracepoints []*perfTracepoint | ||
197 | errStr string | ||
198 | }{ | ||
199 | { | ||
200 | name: "valid single tracepoint", | ||
201 | flag: []string{"sched:sched_kthread_stop"}, | ||
202 | exTracepoints: []*perfTracepoint{ | ||
203 | { | ||
204 | subsystem: "sched", | ||
205 | event: "sched_kthread_stop", | ||
206 | }, | ||
207 | }, | ||
208 | }, | ||
209 | { | ||
210 | name: "valid multiple tracepoints", | ||
211 | flag: []string{"sched:sched_kthread_stop", "sched:sched_process_fork"}, | ||
212 | exTracepoints: []*perfTracepoint{ | ||
213 | { | ||
214 | subsystem: "sched", | ||
215 | event: "sched_kthread_stop", | ||
216 | }, | ||
217 | { | ||
218 | subsystem: "sched", | ||
219 | event: "sched_process_fork", | ||
220 | }, | ||
221 | }, | ||
222 | }, | ||
223 | } | ||
224 | |||
225 | for _, test := range tests { | ||
226 | t.Run(test.name, func(t *testing.T) { | ||
227 | tracepoints, err := perfTracepointFlagToTracepoints(test.flag) | ||
228 | if test.errStr != "" { | ||
229 | if err != nil { | ||
230 | t.Fatal("expected error to not be nil") | ||
231 | } | ||
232 | if test.errStr != err.Error() { | ||
233 | t.Fatalf( | ||
234 | "expected error %q, got %q", | ||
235 | test.errStr, | ||
236 | err.Error(), | ||
237 | ) | ||
238 | } | ||
239 | return | ||
240 | } | ||
241 | if err != nil { | ||
242 | t.Fatal(err) | ||
243 | } | ||
244 | for i := range tracepoints { | ||
245 | if test.exTracepoints[i].event != tracepoints[i].event && | ||
246 | test.exTracepoints[i].subsystem != tracepoints[i].subsystem { | ||
247 | t.Fatalf( | ||
248 | "expected tracepoint %v, got %v", | ||
249 | test.exTracepoints[i], | ||
250 | tracepoints[i], | ||
185 | ) | 251 | ) |
186 | } | 252 | } |
187 | } | 253 | } |