[PATCH 3/6] perf tests: Add numeric identifier to evlist_test
From: Alexander Yarygin In tests/parse-events.c test cases are declared in evlist_test[] arrays. Elements of arrays are initialized in following pattern: [i] = { .name = ..., .check = ..., }, When perf-test is running with '-v' option, 'i' variable will be printed for every existing test. However, we can't add any arch specific tests inside #ifdefs, because it will create collision between the element number inside #ifdef and the next one outside. This patch adds 'id' field in evlist_test, uses it as a test identifier and removes explicit numbering of array elements. This helps to number tests with gaps. Signed-off-by: Alexander Yarygin Link: http://lkml.kernel.org/r/1398440047-6641-3-git-send-email-yary...@linux.vnet.ibm.com Signed-off-by: Jiri Olsa --- tools/perf/tests/parse-events.c | 135 ++-- 1 file changed, 90 insertions(+), 45 deletions(-) diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 8605ff5..81dbd5a 100644 --- a/tools/perf/tests/parse-events.c +++ b/tools/perf/tests/parse-events.c @@ -1174,188 +1174,233 @@ static int test__all_tracepoints(struct perf_evlist *evlist) struct evlist_test { const char *name; __u32 type; + const int id; int (*check)(struct perf_evlist *evlist); }; static struct evlist_test test__events[] = { - [0] = { + { .name = "syscalls:sys_enter_open", .check = test__checkevent_tracepoint, + .id= 0, }, - [1] = { + { .name = "syscalls:*", .check = test__checkevent_tracepoint_multi, + .id= 1, }, - [2] = { + { .name = "r1a", .check = test__checkevent_raw, + .id= 2, }, - [3] = { + { .name = "1:1", .check = test__checkevent_numeric, + .id= 3, }, - [4] = { + { .name = "instructions", .check = test__checkevent_symbolic_name, + .id= 4, }, - [5] = { + { .name = "cycles/period=10,config2/", .check = test__checkevent_symbolic_name_config, + .id= 5, }, - [6] = { + { .name = "faults", .check = test__checkevent_symbolic_alias, + .id= 6, }, - [7] = { + { .name = "L1-dcache-load-miss", .check = test__checkevent_genhw, + .id= 7, }, - [8] = { + { .name = "mem:0", .check = test__checkevent_breakpoint, + .id= 8, }, - [9] = { + { .name = "mem:0:x", .check = test__checkevent_breakpoint_x, + .id= 9, }, - [10] = { + { .name = "mem:0:r", .check = test__checkevent_breakpoint_r, + .id= 10, }, - [11] = { + { .name = "mem:0:w", .check = test__checkevent_breakpoint_w, + .id= 11, }, - [12] = { + { .name = "syscalls:sys_enter_open:k", .check = test__checkevent_tracepoint_modifier, + .id= 12, }, - [13] = { + { .name = "syscalls:*:u", .check = test__checkevent_tracepoint_multi_modifier, + .id= 13, }, - [14] = { + { .name = "r1a:kp", .check = test__checkevent_raw_modifier, + .id= 14, }, - [15] = { + { .name = "1:1:hp", .check = test__checkevent_numeric_modifier, + .id= 15, }, - [16] = { + { .name = "instructions:h", .check = test__checkevent_symbolic_name_modifier, + .id= 16, }, - [17] = { + { .name = "faults:u", .check = test__checkevent_symbolic_alias_modifier, + .id= 17, }, - [18] = { + { .name = "L1-dcache-load-miss:kp", .check = test__checkevent_genhw_modifier, + .id= 18, }, - [19] = { + { .name = "mem:0:u", .check = test__checkevent_breakpoint_modifier, + .id= 19, }, - [20] = { + { .name = "mem:0:x:k", .check = test__checkevent_breakpoint_x_modifier, + .id= 20, }, - [21] = { + { .name = "mem:0:r:hp", .check =
[PATCH 3/6] perf tests: Add numeric identifier to evlist_test
From: Alexander Yarygin yary...@linux.vnet.ibm.com In tests/parse-events.c test cases are declared in evlist_test[] arrays. Elements of arrays are initialized in following pattern: [i] = { .name = ..., .check = ..., }, When perf-test is running with '-v' option, 'i' variable will be printed for every existing test. However, we can't add any arch specific tests inside #ifdefs, because it will create collision between the element number inside #ifdef and the next one outside. This patch adds 'id' field in evlist_test, uses it as a test identifier and removes explicit numbering of array elements. This helps to number tests with gaps. Signed-off-by: Alexander Yarygin yary...@linux.vnet.ibm.com Link: http://lkml.kernel.org/r/1398440047-6641-3-git-send-email-yary...@linux.vnet.ibm.com Signed-off-by: Jiri Olsa jo...@kernel.org --- tools/perf/tests/parse-events.c | 135 ++-- 1 file changed, 90 insertions(+), 45 deletions(-) diff --git a/tools/perf/tests/parse-events.c b/tools/perf/tests/parse-events.c index 8605ff5..81dbd5a 100644 --- a/tools/perf/tests/parse-events.c +++ b/tools/perf/tests/parse-events.c @@ -1174,188 +1174,233 @@ static int test__all_tracepoints(struct perf_evlist *evlist) struct evlist_test { const char *name; __u32 type; + const int id; int (*check)(struct perf_evlist *evlist); }; static struct evlist_test test__events[] = { - [0] = { + { .name = syscalls:sys_enter_open, .check = test__checkevent_tracepoint, + .id= 0, }, - [1] = { + { .name = syscalls:*, .check = test__checkevent_tracepoint_multi, + .id= 1, }, - [2] = { + { .name = r1a, .check = test__checkevent_raw, + .id= 2, }, - [3] = { + { .name = 1:1, .check = test__checkevent_numeric, + .id= 3, }, - [4] = { + { .name = instructions, .check = test__checkevent_symbolic_name, + .id= 4, }, - [5] = { + { .name = cycles/period=10,config2/, .check = test__checkevent_symbolic_name_config, + .id= 5, }, - [6] = { + { .name = faults, .check = test__checkevent_symbolic_alias, + .id= 6, }, - [7] = { + { .name = L1-dcache-load-miss, .check = test__checkevent_genhw, + .id= 7, }, - [8] = { + { .name = mem:0, .check = test__checkevent_breakpoint, + .id= 8, }, - [9] = { + { .name = mem:0:x, .check = test__checkevent_breakpoint_x, + .id= 9, }, - [10] = { + { .name = mem:0:r, .check = test__checkevent_breakpoint_r, + .id= 10, }, - [11] = { + { .name = mem:0:w, .check = test__checkevent_breakpoint_w, + .id= 11, }, - [12] = { + { .name = syscalls:sys_enter_open:k, .check = test__checkevent_tracepoint_modifier, + .id= 12, }, - [13] = { + { .name = syscalls:*:u, .check = test__checkevent_tracepoint_multi_modifier, + .id= 13, }, - [14] = { + { .name = r1a:kp, .check = test__checkevent_raw_modifier, + .id= 14, }, - [15] = { + { .name = 1:1:hp, .check = test__checkevent_numeric_modifier, + .id= 15, }, - [16] = { + { .name = instructions:h, .check = test__checkevent_symbolic_name_modifier, + .id= 16, }, - [17] = { + { .name = faults:u, .check = test__checkevent_symbolic_alias_modifier, + .id= 17, }, - [18] = { + { .name = L1-dcache-load-miss:kp, .check = test__checkevent_genhw_modifier, + .id= 18, }, - [19] = { + { .name = mem:0:u, .check = test__checkevent_breakpoint_modifier, + .id= 19, }, - [20] = { + { .name = mem:0:x:k, .check = test__checkevent_breakpoint_x_modifier, + .id= 20, }, - [21] = { + { .name = mem:0:r:hp, .check