aboutsummaryrefslogtreecommitdiff
path: root/collector/perf_linux_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'collector/perf_linux_test.go')
-rw-r--r--collector/perf_linux_test.go70
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
192func 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 }