diff options
| author | Namhyung Kim <namhyung.kim@lge.com> | 2013-01-22 04:09:30 -0500 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-01-31 11:07:44 -0500 |
| commit | 8d7d8474d7b04dc89aa653d67425b61d3ff5c6f0 (patch) | |
| tree | 8dffcfdf7b744bebc49c52bd9efb9732a248a1d8 /tools/perf | |
| parent | 97f63e4a2cf88e9d7bc086a1c3f10fa41c9174df (diff) | |
perf tests: Add group test conditions
As some new fields for handling groups added, check them to be sure to
have valid values in test__group* cases.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1358845787-1350-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
| -rw-r--r-- | tools/perf/tests/parse-events.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 20acaff295d2..80a8daf54a63 100644 --- a/tools/perf/tests/parse-events.c +++ b/tools/perf/tests/parse-events.c | |||
| @@ -23,6 +23,7 @@ static int test__checkevent_tracepoint(struct perf_evlist *evlist) | |||
| 23 | struct perf_evsel *evsel = perf_evlist__first(evlist); | 23 | struct perf_evsel *evsel = perf_evlist__first(evlist); |
| 24 | 24 | ||
| 25 | TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->nr_entries); | 25 | TEST_ASSERT_VAL("wrong number of entries", 1 == evlist->nr_entries); |
| 26 | TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->nr_groups); | ||
| 26 | TEST_ASSERT_VAL("wrong type", PERF_TYPE_TRACEPOINT == evsel->attr.type); | 27 | TEST_ASSERT_VAL("wrong type", PERF_TYPE_TRACEPOINT == evsel->attr.type); |
| 27 | TEST_ASSERT_VAL("wrong sample_type", | 28 | TEST_ASSERT_VAL("wrong sample_type", |
| 28 | PERF_TP_SAMPLE_TYPE == evsel->attr.sample_type); | 29 | PERF_TP_SAMPLE_TYPE == evsel->attr.sample_type); |
| @@ -35,6 +36,7 @@ static int test__checkevent_tracepoint_multi(struct perf_evlist *evlist) | |||
| 35 | struct perf_evsel *evsel; | 36 | struct perf_evsel *evsel; |
| 36 | 37 | ||
| 37 | TEST_ASSERT_VAL("wrong number of entries", evlist->nr_entries > 1); | 38 | TEST_ASSERT_VAL("wrong number of entries", evlist->nr_entries > 1); |
| 39 | TEST_ASSERT_VAL("wrong number of groups", 0 == evlist->nr_groups); | ||
| 38 | 40 | ||
| 39 | list_for_each_entry(evsel, &evlist->entries, node) { | 41 | list_for_each_entry(evsel, &evlist->entries, node) { |
| 40 | TEST_ASSERT_VAL("wrong type", | 42 | TEST_ASSERT_VAL("wrong type", |
| @@ -510,6 +512,7 @@ static int test__group1(struct perf_evlist *evlist) | |||
| 510 | struct perf_evsel *evsel, *leader; | 512 | struct perf_evsel *evsel, *leader; |
| 511 | 513 | ||
| 512 | TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); | 514 | TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); |
| 515 | TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups); | ||
| 513 | 516 | ||
| 514 | /* instructions:k */ | 517 | /* instructions:k */ |
| 515 | evsel = leader = perf_evlist__first(evlist); | 518 | evsel = leader = perf_evlist__first(evlist); |
| @@ -523,6 +526,8 @@ static int test__group1(struct perf_evlist *evlist) | |||
| 523 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); | 526 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); |
| 524 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); | 527 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); |
| 525 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 528 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
| 529 | TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); | ||
| 530 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | ||
| 526 | 531 | ||
| 527 | /* cycles:upp */ | 532 | /* cycles:upp */ |
| 528 | evsel = perf_evsel__next(evsel); | 533 | evsel = perf_evsel__next(evsel); |
| @@ -537,6 +542,7 @@ static int test__group1(struct perf_evlist *evlist) | |||
| 537 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); | 542 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); |
| 538 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); | 543 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); |
| 539 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); | 544 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); |
| 545 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | ||
| 540 | 546 | ||
| 541 | return 0; | 547 | return 0; |
| 542 | } | 548 | } |
| @@ -546,6 +552,7 @@ static int test__group2(struct perf_evlist *evlist) | |||
| 546 | struct perf_evsel *evsel, *leader; | 552 | struct perf_evsel *evsel, *leader; |
| 547 | 553 | ||
| 548 | TEST_ASSERT_VAL("wrong number of entries", 3 == evlist->nr_entries); | 554 | TEST_ASSERT_VAL("wrong number of entries", 3 == evlist->nr_entries); |
| 555 | TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups); | ||
| 549 | 556 | ||
| 550 | /* faults + :ku modifier */ | 557 | /* faults + :ku modifier */ |
| 551 | evsel = leader = perf_evlist__first(evlist); | 558 | evsel = leader = perf_evlist__first(evlist); |
| @@ -559,6 +566,8 @@ static int test__group2(struct perf_evlist *evlist) | |||
| 559 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); | 566 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); |
| 560 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); | 567 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); |
| 561 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 568 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
| 569 | TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); | ||
| 570 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | ||
| 562 | 571 | ||
| 563 | /* cache-references + :u modifier */ | 572 | /* cache-references + :u modifier */ |
| 564 | evsel = perf_evsel__next(evsel); | 573 | evsel = perf_evsel__next(evsel); |
| @@ -572,6 +581,7 @@ static int test__group2(struct perf_evlist *evlist) | |||
| 572 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); | 581 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); |
| 573 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); | 582 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); |
| 574 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); | 583 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); |
| 584 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | ||
| 575 | 585 | ||
| 576 | /* cycles:k */ | 586 | /* cycles:k */ |
| 577 | evsel = perf_evsel__next(evsel); | 587 | evsel = perf_evsel__next(evsel); |
| @@ -594,6 +604,7 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused) | |||
| 594 | struct perf_evsel *evsel, *leader; | 604 | struct perf_evsel *evsel, *leader; |
| 595 | 605 | ||
| 596 | TEST_ASSERT_VAL("wrong number of entries", 5 == evlist->nr_entries); | 606 | TEST_ASSERT_VAL("wrong number of entries", 5 == evlist->nr_entries); |
| 607 | TEST_ASSERT_VAL("wrong number of groups", 2 == evlist->nr_groups); | ||
| 597 | 608 | ||
| 598 | /* group1 syscalls:sys_enter_open:H */ | 609 | /* group1 syscalls:sys_enter_open:H */ |
| 599 | evsel = leader = perf_evlist__first(evlist); | 610 | evsel = leader = perf_evlist__first(evlist); |
| @@ -610,6 +621,8 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused) | |||
| 610 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 621 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
| 611 | TEST_ASSERT_VAL("wrong group name", | 622 | TEST_ASSERT_VAL("wrong group name", |
| 612 | !strcmp(leader->group_name, "group1")); | 623 | !strcmp(leader->group_name, "group1")); |
| 624 | TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); | ||
| 625 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | ||
| 613 | 626 | ||
| 614 | /* group1 cycles:kppp */ | 627 | /* group1 cycles:kppp */ |
| 615 | evsel = perf_evsel__next(evsel); | 628 | evsel = perf_evsel__next(evsel); |
| @@ -625,6 +638,7 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused) | |||
| 625 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 3); | 638 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 3); |
| 626 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); | 639 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); |
| 627 | TEST_ASSERT_VAL("wrong group name", !evsel->group_name); | 640 | TEST_ASSERT_VAL("wrong group name", !evsel->group_name); |
| 641 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | ||
| 628 | 642 | ||
| 629 | /* group2 cycles + G modifier */ | 643 | /* group2 cycles + G modifier */ |
| 630 | evsel = leader = perf_evsel__next(evsel); | 644 | evsel = leader = perf_evsel__next(evsel); |
| @@ -640,6 +654,8 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused) | |||
| 640 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 654 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
| 641 | TEST_ASSERT_VAL("wrong group name", | 655 | TEST_ASSERT_VAL("wrong group name", |
| 642 | !strcmp(leader->group_name, "group2")); | 656 | !strcmp(leader->group_name, "group2")); |
| 657 | TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); | ||
| 658 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | ||
| 643 | 659 | ||
| 644 | /* group2 1:3 + G modifier */ | 660 | /* group2 1:3 + G modifier */ |
| 645 | evsel = perf_evsel__next(evsel); | 661 | evsel = perf_evsel__next(evsel); |
| @@ -652,6 +668,7 @@ static int test__group3(struct perf_evlist *evlist __maybe_unused) | |||
| 652 | TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); | 668 | TEST_ASSERT_VAL("wrong exclude host", evsel->attr.exclude_host); |
| 653 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); | 669 | TEST_ASSERT_VAL("wrong precise_ip", !evsel->attr.precise_ip); |
| 654 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); | 670 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); |
| 671 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | ||
| 655 | 672 | ||
| 656 | /* instructions:u */ | 673 | /* instructions:u */ |
| 657 | evsel = perf_evsel__next(evsel); | 674 | evsel = perf_evsel__next(evsel); |
| @@ -674,6 +691,7 @@ static int test__group4(struct perf_evlist *evlist __maybe_unused) | |||
| 674 | struct perf_evsel *evsel, *leader; | 691 | struct perf_evsel *evsel, *leader; |
| 675 | 692 | ||
| 676 | TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); | 693 | TEST_ASSERT_VAL("wrong number of entries", 2 == evlist->nr_entries); |
| 694 | TEST_ASSERT_VAL("wrong number of groups", 1 == evlist->nr_groups); | ||
| 677 | 695 | ||
| 678 | /* cycles:u + p */ | 696 | /* cycles:u + p */ |
| 679 | evsel = leader = perf_evlist__first(evlist); | 697 | evsel = leader = perf_evlist__first(evlist); |
| @@ -689,6 +707,8 @@ static int test__group4(struct perf_evlist *evlist __maybe_unused) | |||
| 689 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 1); | 707 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 1); |
| 690 | TEST_ASSERT_VAL("wrong group name", !evsel->group_name); | 708 | TEST_ASSERT_VAL("wrong group name", !evsel->group_name); |
| 691 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); | 709 | TEST_ASSERT_VAL("wrong leader", perf_evsel__is_group_leader(evsel)); |
| 710 | TEST_ASSERT_VAL("wrong nr_members", evsel->nr_members == 2); | ||
| 711 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 0); | ||
| 692 | 712 | ||
| 693 | /* instructions:kp + p */ | 713 | /* instructions:kp + p */ |
| 694 | evsel = perf_evsel__next(evsel); | 714 | evsel = perf_evsel__next(evsel); |
| @@ -703,6 +723,7 @@ static int test__group4(struct perf_evlist *evlist __maybe_unused) | |||
| 703 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); | 723 | TEST_ASSERT_VAL("wrong exclude host", !evsel->attr.exclude_host); |
| 704 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); | 724 | TEST_ASSERT_VAL("wrong precise_ip", evsel->attr.precise_ip == 2); |
| 705 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); | 725 | TEST_ASSERT_VAL("wrong leader", evsel->leader == leader); |
| 726 | TEST_ASSERT_VAL("wrong group_idx", perf_evsel__group_idx(evsel) == 1); | ||
| 706 | 727 | ||
| 707 | return 0; | 728 | return 0; |
| 708 | |||
