diff options
Diffstat (limited to 'tools/perf/tests/parse-events.c')
| -rw-r--r-- | tools/perf/tests/parse-events.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 5941927a4b7f..7f2f51f93619 100644 --- a/tools/perf/tests/parse-events.c +++ b/tools/perf/tests/parse-events.c | |||
| @@ -457,6 +457,36 @@ static int test__checkevent_pmu_events(struct perf_evlist *evlist) | |||
| 457 | return 0; | 457 | return 0; |
| 458 | } | 458 | } |
| 459 | 459 | ||
| 460 | |||
| 461 | static int test__checkevent_pmu_events_mix(struct perf_evlist *evlist) | ||
| 462 | { | ||
| 463 | struct perf_evsel *evsel = perf_evlist__first(evlist); | ||
| 464 | |||
| 465 | /* pmu-event:u */ | ||
| 466 | TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); | ||
| 467 | TEST_ASSERT_VAL("wrong exclude_user", | ||
| 468 | !evsel->attr.exclude_user); | ||
| 469 | TEST_ASSERT_VAL("wrong exclude_kernel", | ||
| 470 | evsel->attr.exclude_kernel); | ||
| 471 | TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); | ||
| 472 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); | ||
| 473 | TEST_ASSERT_VAL("wrong pinned", !evsel->attr.pinned); | ||
| 474 | |||
| 475 | /* cpu/pmu-event/u*/ | ||
| 476 | evsel = perf_evsel__next(evsel); | ||
| 477 | TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); | ||
| 478 | TEST_ASSERT_VAL("wrong type", PERF_TYPE_RAW == evsel->attr.type); | ||
| 479 | TEST_ASSERT_VAL("wrong exclude_user", | ||
| 480 | !evsel->attr.exclude_user); | ||
| 481 | TEST_ASSERT_VAL("wrong exclude_kernel", | ||
| 482 | evsel->attr.exclude_kernel); | ||
| 483 | TEST_ASSERT_VAL("wrong exclude_hv", evsel->attr.exclude_hv); | ||
| 484 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); | ||
| 485 | TEST_ASSERT_VAL("wrong pinned", !evsel->attr.pinned); | ||
| 486 | |||
| 487 | return 0; | ||
| 488 | } | ||
| 489 | |||
| 460 | static int test__checkterms_simple(struct list_head *terms) | 490 | static int test__checkterms_simple(struct list_head *terms) |
| 461 | { | 491 | { |
| 462 | struct parse_events_term *term; | 492 | struct parse_events_term *term; |
| @@ -1554,6 +1584,12 @@ static int test_pmu_events(void) | |||
| 1554 | e.check = test__checkevent_pmu_events; | 1584 | e.check = test__checkevent_pmu_events; |
| 1555 | 1585 | ||
| 1556 | ret = test_event(&e); | 1586 | ret = test_event(&e); |
| 1587 | if (ret) | ||
| 1588 | break; | ||
| 1589 | snprintf(name, MAX_NAME, "%s:u,cpu/event=%s/u", ent->d_name, ent->d_name); | ||
| 1590 | e.name = name; | ||
| 1591 | e.check = test__checkevent_pmu_events_mix; | ||
| 1592 | ret = test_event(&e); | ||
| 1557 | #undef MAX_NAME | 1593 | #undef MAX_NAME |
| 1558 | } | 1594 | } |
| 1559 | 1595 | ||
