Lines Matching defs:evlist
4 #include "evlist.h"
85 static int test__checkevent_tracepoint(struct evlist *evlist)
87 struct evsel *evsel = evlist__first(evlist);
89 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
90 TEST_ASSERT_VAL("wrong number of groups", 0 == evlist__nr_groups(evlist));
98 static int test__checkevent_tracepoint_multi(struct evlist *evlist)
102 TEST_ASSERT_VAL("wrong number of entries", evlist->core.nr_entries > 1);
103 TEST_ASSERT_VAL("wrong number of groups", 0 == evlist__nr_groups(evlist));
105 evlist__for_each_entry(evlist, evsel) {
117 static int test__checkevent_raw(struct evlist *evlist)
122 TEST_ASSERT_VAL("wrong number of entries", 0 != evlist->core.nr_entries);
124 perf_evlist__for_each_evsel(&evlist->core, evsel) {
155 static int test__checkevent_numeric(struct evlist *evlist)
157 struct evsel *evsel = evlist__first(evlist);
159 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
165 static int test__checkevent_symbolic_name(struct evlist *evlist)
169 TEST_ASSERT_VAL("wrong number of entries", 0 != evlist->core.nr_entries);
171 perf_evlist__for_each_evsel(&evlist->core, evsel) {
179 static int test__checkevent_symbolic_name_config(struct evlist *evlist)
183 TEST_ASSERT_VAL("wrong number of entries", 0 != evlist->core.nr_entries);
185 perf_evlist__for_each_evsel(&evlist->core, evsel) {
199 static int test__checkevent_symbolic_alias(struct evlist *evlist)
201 struct evsel *evsel = evlist__first(evlist);
203 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
209 static int test__checkevent_genhw(struct evlist *evlist)
213 TEST_ASSERT_VAL("wrong number of entries", 0 != evlist->core.nr_entries);
215 perf_evlist__for_each_entry(&evlist->core, evsel) {
222 static int test__checkevent_breakpoint(struct evlist *evlist)
224 struct evsel *evsel = evlist__first(evlist);
226 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
236 static int test__checkevent_breakpoint_x(struct evlist *evlist)
238 struct evsel *evsel = evlist__first(evlist);
240 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
249 static int test__checkevent_breakpoint_r(struct evlist *evlist)
251 struct evsel *evsel = evlist__first(evlist);
253 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
264 static int test__checkevent_breakpoint_w(struct evlist *evlist)
266 struct evsel *evsel = evlist__first(evlist);
268 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
279 static int test__checkevent_breakpoint_rw(struct evlist *evlist)
281 struct evsel *evsel = evlist__first(evlist);
283 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
295 static int test__checkevent_tracepoint_modifier(struct evlist *evlist)
297 struct evsel *evsel = evlist__first(evlist);
304 return test__checkevent_tracepoint(evlist);
308 test__checkevent_tracepoint_multi_modifier(struct evlist *evlist)
312 TEST_ASSERT_VAL("wrong number of entries", evlist->core.nr_entries > 1);
314 perf_evlist__for_each_entry(&evlist->core, evsel) {
321 return test__checkevent_tracepoint_multi(evlist);
325 static int test__checkevent_raw_modifier(struct evlist *evlist)
329 perf_evlist__for_each_entry(&evlist->core, evsel) {
335 return test__checkevent_raw(evlist);
338 static int test__checkevent_numeric_modifier(struct evlist *evlist)
342 perf_evlist__for_each_entry(&evlist->core, evsel) {
348 return test__checkevent_numeric(evlist);
351 static int test__checkevent_symbolic_name_modifier(struct evlist *evlist)
356 evlist->core.nr_entries == num_core_entries());
358 perf_evlist__for_each_entry(&evlist->core, evsel) {
364 return test__checkevent_symbolic_name(evlist);
367 static int test__checkevent_exclude_host_modifier(struct evlist *evlist)
371 perf_evlist__for_each_entry(&evlist->core, evsel) {
375 return test__checkevent_symbolic_name(evlist);
378 static int test__checkevent_exclude_guest_modifier(struct evlist *evlist)
382 perf_evlist__for_each_entry(&evlist->core, evsel) {
386 return test__checkevent_symbolic_name(evlist);
389 static int test__checkevent_symbolic_alias_modifier(struct evlist *evlist)
391 struct evsel *evsel = evlist__first(evlist);
398 return test__checkevent_symbolic_alias(evlist);
401 static int test__checkevent_genhw_modifier(struct evlist *evlist)
405 perf_evlist__for_each_entry(&evlist->core, evsel) {
411 return test__checkevent_genhw(evlist);
414 static int test__checkevent_exclude_idle_modifier(struct evlist *evlist)
416 struct evsel *evsel = evlist__first(evlist);
426 return test__checkevent_symbolic_name(evlist);
429 static int test__checkevent_exclude_idle_modifier_1(struct evlist *evlist)
431 struct evsel *evsel = evlist__first(evlist);
441 return test__checkevent_symbolic_name(evlist);
444 static int test__checkevent_breakpoint_modifier(struct evlist *evlist)
446 struct evsel *evsel = evlist__first(evlist);
456 return test__checkevent_breakpoint(evlist);
459 static int test__checkevent_breakpoint_x_modifier(struct evlist *evlist)
461 struct evsel *evsel = evlist__first(evlist);
470 return test__checkevent_breakpoint_x(evlist);
473 static int test__checkevent_breakpoint_r_modifier(struct evlist *evlist)
475 struct evsel *evsel = evlist__first(evlist);
484 return test__checkevent_breakpoint_r(evlist);
487 static int test__checkevent_breakpoint_w_modifier(struct evlist *evlist)
489 struct evsel *evsel = evlist__first(evlist);
498 return test__checkevent_breakpoint_w(evlist);
501 static int test__checkevent_breakpoint_rw_modifier(struct evlist *evlist)
503 struct evsel *evsel = evlist__first(evlist);
512 return test__checkevent_breakpoint_rw(evlist);
515 static int test__checkevent_breakpoint_modifier_name(struct evlist *evlist)
517 struct evsel *evsel = evlist__first(evlist);
526 return test__checkevent_breakpoint(evlist);
529 static int test__checkevent_breakpoint_x_modifier_name(struct evlist *evlist)
531 struct evsel *evsel = evlist__first(evlist);
540 return test__checkevent_breakpoint_x(evlist);
543 static int test__checkevent_breakpoint_r_modifier_name(struct evlist *evlist)
545 struct evsel *evsel = evlist__first(evlist);
554 return test__checkevent_breakpoint_r(evlist);
557 static int test__checkevent_breakpoint_w_modifier_name(struct evlist *evlist)
559 struct evsel *evsel = evlist__first(evlist);
568 return test__checkevent_breakpoint_w(evlist);
571 static int test__checkevent_breakpoint_rw_modifier_name(struct evlist *evlist)
573 struct evsel *evsel = evlist__first(evlist);
582 return test__checkevent_breakpoint_rw(evlist);
585 static int test__checkevent_breakpoint_2_events(struct evlist *evlist)
587 struct evsel *evsel = evlist__first(evlist);
589 TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
602 static int test__checkevent_pmu(struct evlist *evlist)
605 struct evsel *evsel = evlist__first(evlist);
607 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
623 static int test__checkevent_list(struct evlist *evlist)
625 struct evsel *evsel = evlist__first(evlist);
627 TEST_ASSERT_VAL("wrong number of entries", 3 <= evlist->core.nr_entries);
666 static int test__checkevent_pmu_name(struct evlist *evlist)
668 struct evsel *evsel = evlist__first(evlist);
671 TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
678 TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
687 static int test__checkevent_pmu_partial_time_callgraph(struct evlist *evlist)
689 struct evsel *evsel = evlist__first(evlist);
692 TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->core.nr_entries);
718 static int test__checkevent_pmu_events(struct evlist *evlist)
720 struct evsel *evsel = evlist__first(evlist);
722 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
738 static int test__checkevent_pmu_events_mix(struct evlist *evlist)
746 TEST_ASSERT_VAL("wrong number of entries", evlist->core.nr_entries >= 2);
747 for (int i = 0; i < evlist->core.nr_entries - 1; i++) {
748 evsel = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
854 static int test__group1(struct evlist *evlist)
859 evlist->core.nr_entries == (num_core_entries() * 2));
861 evlist__nr_groups(evlist) == num_core_entries());
865 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
897 static int test__group2(struct evlist *evlist)
902 evlist->core.nr_entries == (2 * num_core_entries() + 1));
907 TEST_ASSERT_VAL("wrong number of groups", 1 == evlist__nr_groups(evlist));
909 evlist__for_each_entry(evlist, evsel) {
957 static int test__group3(struct evlist *evlist __maybe_unused)
962 evlist->core.nr_entries == (3 * perf_pmus__num_core_pmus() + 2));
968 TEST_ASSERT_VAL("wrong number of groups", 2 == evlist__nr_groups(evlist));
970 evlist__for_each_entry(evlist, evsel) {
1063 static int test__group4(struct evlist *evlist __maybe_unused)
1068 evlist->core.nr_entries == (num_core_entries() * 2));
1070 num_core_entries() == evlist__nr_groups(evlist));
1074 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1108 static int test__group5(struct evlist *evlist __maybe_unused)
1113 evlist->core.nr_entries == (5 * num_core_entries()));
1115 evlist__nr_groups(evlist) == (2 * num_core_entries()));
1119 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1194 static int test__group_gh1(struct evlist *evlist)
1199 evlist->core.nr_entries == (2 * num_core_entries()));
1201 evlist__nr_groups(evlist) == num_core_entries());
1205 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1235 static int test__group_gh2(struct evlist *evlist)
1240 evlist->core.nr_entries == (2 * num_core_entries()));
1242 evlist__nr_groups(evlist) == num_core_entries());
1246 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1276 static int test__group_gh3(struct evlist *evlist)
1281 evlist->core.nr_entries == (2 * num_core_entries()));
1283 evlist__nr_groups(evlist) == num_core_entries());
1287 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1317 static int test__group_gh4(struct evlist *evlist)
1322 evlist->core.nr_entries == (2 * num_core_entries()));
1324 evlist__nr_groups(evlist) == num_core_entries());
1328 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1358 static int test__leader_sample1(struct evlist *evlist)
1363 evlist->core.nr_entries == (3 * num_core_entries()));
1367 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1410 static int test__leader_sample2(struct evlist *evlist __maybe_unused)
1415 evlist->core.nr_entries == (2 * num_core_entries()));
1419 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1449 static int test__checkevent_pinned_modifier(struct evlist *evlist)
1454 evlist->core.nr_entries == num_core_entries());
1457 evsel = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1464 return test__checkevent_symbolic_name(evlist);
1467 static int test__pinned_group(struct evlist *evlist)
1472 evlist->core.nr_entries == (3 * num_core_entries()));
1476 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1499 static int test__checkevent_exclusive_modifier(struct evlist *evlist)
1501 struct evsel *evsel = evlist__first(evlist);
1509 return test__checkevent_symbolic_name(evlist);
1512 static int test__exclusive_group(struct evlist *evlist)
1517 evlist->core.nr_entries == 3 * num_core_entries());
1521 evsel = leader = (i == 0 ? evlist__first(evlist) : evsel__next(evsel));
1543 static int test__checkevent_breakpoint_len(struct evlist *evlist)
1545 struct evsel *evsel = evlist__first(evlist);
1547 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
1558 static int test__checkevent_breakpoint_len_w(struct evlist *evlist)
1560 struct evsel *evsel = evlist__first(evlist);
1562 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
1574 test__checkevent_breakpoint_len_rw_modifier(struct evlist *evlist)
1576 struct evsel *evsel = evlist__first(evlist);
1583 return test__checkevent_breakpoint_rw(evlist);
1586 static int test__checkevent_precise_max_modifier(struct evlist *evlist)
1588 struct evsel *evsel = evlist__first(evlist);
1591 evlist->core.nr_entries == 1 + num_core_entries());
1597 static int test__checkevent_config_symbol(struct evlist *evlist)
1599 struct evsel *evsel = evlist__first(evlist);
1605 static int test__checkevent_config_raw(struct evlist *evlist)
1607 struct evsel *evsel = evlist__first(evlist);
1613 static int test__checkevent_config_num(struct evlist *evlist)
1615 struct evsel *evsel = evlist__first(evlist);
1621 static int test__checkevent_config_cache(struct evlist *evlist)
1623 struct evsel *evsel = evlist__first(evlist);
1626 return test__checkevent_genhw(evlist);
1649 static int test__intel_pt(struct evlist *evlist)
1651 struct evsel *evsel = evlist__first(evlist);
1657 static int test__checkevent_complex_name(struct evlist *evlist)
1659 struct evsel *evsel = evlist__first(evlist);
1667 static int test__checkevent_raw_pmu(struct evlist *evlist)
1669 struct evsel *evsel = evlist__first(evlist);
1671 TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->core.nr_entries);
1677 static int test__sym_event_slash(struct evlist *evlist)
1679 struct evsel *evsel = evlist__first(evlist);
1687 static int test__sym_event_dc(struct evlist *evlist)
1689 struct evsel *evsel = evlist__first(evlist);
1697 static int test__term_equal_term(struct evlist *evlist)
1699 struct evsel *evsel = evlist__first(evlist);
1707 static int test__term_equal_legacy(struct evlist *evlist)
1709 struct evsel *evsel = evlist__first(evlist);
1764 static int test__all_tracepoints(struct evlist *evlist)
1767 count_tracepoints() == evlist->core.nr_entries);
1769 return test__checkevent_tracepoint_multi(evlist);
1776 int (*check)(struct evlist *evlist);
2379 struct evlist *evlist;
2387 evlist = evlist__new();
2388 if (evlist == NULL) {
2393 ret = parse_events(evlist, e->name, &err);
2402 ret = e->check(evlist);
2405 evlist__delete(evlist);
2413 struct evlist *evlist;
2416 evlist = evlist__new();
2417 if (!evlist)
2421 ret = __parse_events(evlist, str, /*pmu_filter=*/NULL, &err,
2430 evlist__delete(evlist);
2652 static int test__checkevent_pmu_events_alias(struct evlist *evlist)
2654 struct evsel *evsel1 = evlist__first(evlist);
2655 struct evsel *evsel2 = evlist__last(evlist);