[PATCH 07/12] perf tests: Move perf_evsel__roundtrip_name_test into separate object

2012-11-09 Thread Jiri Olsa
Separating perf_evsel__roundtrip_name_test test from the
builtin-test into evsel-roundtrip-name object.

Signed-off-by: Jiri Olsa 
Cc: Corey Ashford 
Cc: Frederic Weisbecker 
Cc: Ingo Molnar 
Cc: Paul Mackerras 
Cc: Peter Zijlstra 
Cc: Arnaldo Carvalho de Melo 
---
 tools/perf/Makefile |   1 +
 tools/perf/tests/builtin-test.c | 112 +--
 tools/perf/tests/evsel-roundtrip-name.c | 114 
 tools/perf/tests/tests.h|   1 +
 4 files changed, 117 insertions(+), 111 deletions(-)
 create mode 100644 tools/perf/tests/evsel-roundtrip-name.c

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 2e5197a..ad6fcb5 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -437,6 +437,7 @@ LIB_OBJS += $(OUTPUT)tests/open-syscall-all-cpus.o
 LIB_OBJS += $(OUTPUT)tests/mmap-basic.o
 LIB_OBJS += $(OUTPUT)tests/perf-record.o
 LIB_OBJS += $(OUTPUT)tests/rdpmc.o
+LIB_OBJS += $(OUTPUT)tests/evsel-roundtrip-name.o
 LIB_OBJS += $(OUTPUT)tests/util.o
 
 BUILTIN_OBJS += $(OUTPUT)builtin-annotate.o
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 1e9a0ea..93f5e91 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -35,116 +35,6 @@ static int test__perf_pmu(void)
return perf_pmu__test();
 }
 
-static int perf_evsel__roundtrip_cache_name_test(void)
-{
-   char name[128];
-   int type, op, err = 0, ret = 0, i, idx;
-   struct perf_evsel *evsel;
-struct perf_evlist *evlist = perf_evlist__new(NULL, NULL);
-
-if (evlist == NULL)
-return -ENOMEM;
-
-   for (type = 0; type < PERF_COUNT_HW_CACHE_MAX; type++) {
-   for (op = 0; op < PERF_COUNT_HW_CACHE_OP_MAX; op++) {
-   /* skip invalid cache type */
-   if (!perf_evsel__is_cache_op_valid(type, op))
-   continue;
-
-   for (i = 0; i < PERF_COUNT_HW_CACHE_RESULT_MAX; i++) {
-   __perf_evsel__hw_cache_type_op_res_name(type, 
op, i,
-   name, 
sizeof(name));
-   err = parse_events(evlist, name, 0);
-   if (err)
-   ret = err;
-   }
-   }
-   }
-
-   idx = 0;
-   evsel = perf_evlist__first(evlist);
-
-   for (type = 0; type < PERF_COUNT_HW_CACHE_MAX; type++) {
-   for (op = 0; op < PERF_COUNT_HW_CACHE_OP_MAX; op++) {
-   /* skip invalid cache type */
-   if (!perf_evsel__is_cache_op_valid(type, op))
-   continue;
-
-   for (i = 0; i < PERF_COUNT_HW_CACHE_RESULT_MAX; i++) {
-   __perf_evsel__hw_cache_type_op_res_name(type, 
op, i,
-   name, 
sizeof(name));
-   if (evsel->idx != idx)
-   continue;
-
-   ++idx;
-
-   if (strcmp(perf_evsel__name(evsel), name)) {
-   pr_debug("%s != %s\n", 
perf_evsel__name(evsel), name);
-   ret = -1;
-   }
-
-   evsel = perf_evsel__next(evsel);
-   }
-   }
-   }
-
-   perf_evlist__delete(evlist);
-   return ret;
-}
-
-static int __perf_evsel__name_array_test(const char *names[], int nr_names)
-{
-   int i, err;
-   struct perf_evsel *evsel;
-struct perf_evlist *evlist = perf_evlist__new(NULL, NULL);
-
-if (evlist == NULL)
-return -ENOMEM;
-
-   for (i = 0; i < nr_names; ++i) {
-   err = parse_events(evlist, names[i], 0);
-   if (err) {
-   pr_debug("failed to parse event '%s', err %d\n",
-names[i], err);
-   goto out_delete_evlist;
-   }
-   }
-
-   err = 0;
-   list_for_each_entry(evsel, >entries, node) {
-   if (strcmp(perf_evsel__name(evsel), names[evsel->idx])) {
-   --err;
-   pr_debug("%s != %s\n", perf_evsel__name(evsel), 
names[evsel->idx]);
-   }
-   }
-
-out_delete_evlist:
-   perf_evlist__delete(evlist);
-   return err;
-}
-
-#define perf_evsel__name_array_test(names) \
-   __perf_evsel__name_array_test(names, ARRAY_SIZE(names))
-
-static int perf_evsel__roundtrip_name_test(void)
-{
-   int err = 0, ret = 0;
-
-   err = perf_evsel__name_array_test(perf_evsel__hw_names);
-   if (err)
-   ret = err;
-
-   err = 

[PATCH 07/12] perf tests: Move perf_evsel__roundtrip_name_test into separate object

2012-11-09 Thread Jiri Olsa
Separating perf_evsel__roundtrip_name_test test from the
builtin-test into evsel-roundtrip-name object.

Signed-off-by: Jiri Olsa jo...@redhat.com
Cc: Corey Ashford cjash...@linux.vnet.ibm.com
Cc: Frederic Weisbecker fweis...@gmail.com
Cc: Ingo Molnar mi...@elte.hu
Cc: Paul Mackerras pau...@samba.org
Cc: Peter Zijlstra a.p.zijls...@chello.nl
Cc: Arnaldo Carvalho de Melo a...@redhat.com
---
 tools/perf/Makefile |   1 +
 tools/perf/tests/builtin-test.c | 112 +--
 tools/perf/tests/evsel-roundtrip-name.c | 114 
 tools/perf/tests/tests.h|   1 +
 4 files changed, 117 insertions(+), 111 deletions(-)
 create mode 100644 tools/perf/tests/evsel-roundtrip-name.c

diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 2e5197a..ad6fcb5 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -437,6 +437,7 @@ LIB_OBJS += $(OUTPUT)tests/open-syscall-all-cpus.o
 LIB_OBJS += $(OUTPUT)tests/mmap-basic.o
 LIB_OBJS += $(OUTPUT)tests/perf-record.o
 LIB_OBJS += $(OUTPUT)tests/rdpmc.o
+LIB_OBJS += $(OUTPUT)tests/evsel-roundtrip-name.o
 LIB_OBJS += $(OUTPUT)tests/util.o
 
 BUILTIN_OBJS += $(OUTPUT)builtin-annotate.o
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 1e9a0ea..93f5e91 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -35,116 +35,6 @@ static int test__perf_pmu(void)
return perf_pmu__test();
 }
 
-static int perf_evsel__roundtrip_cache_name_test(void)
-{
-   char name[128];
-   int type, op, err = 0, ret = 0, i, idx;
-   struct perf_evsel *evsel;
-struct perf_evlist *evlist = perf_evlist__new(NULL, NULL);
-
-if (evlist == NULL)
-return -ENOMEM;
-
-   for (type = 0; type  PERF_COUNT_HW_CACHE_MAX; type++) {
-   for (op = 0; op  PERF_COUNT_HW_CACHE_OP_MAX; op++) {
-   /* skip invalid cache type */
-   if (!perf_evsel__is_cache_op_valid(type, op))
-   continue;
-
-   for (i = 0; i  PERF_COUNT_HW_CACHE_RESULT_MAX; i++) {
-   __perf_evsel__hw_cache_type_op_res_name(type, 
op, i,
-   name, 
sizeof(name));
-   err = parse_events(evlist, name, 0);
-   if (err)
-   ret = err;
-   }
-   }
-   }
-
-   idx = 0;
-   evsel = perf_evlist__first(evlist);
-
-   for (type = 0; type  PERF_COUNT_HW_CACHE_MAX; type++) {
-   for (op = 0; op  PERF_COUNT_HW_CACHE_OP_MAX; op++) {
-   /* skip invalid cache type */
-   if (!perf_evsel__is_cache_op_valid(type, op))
-   continue;
-
-   for (i = 0; i  PERF_COUNT_HW_CACHE_RESULT_MAX; i++) {
-   __perf_evsel__hw_cache_type_op_res_name(type, 
op, i,
-   name, 
sizeof(name));
-   if (evsel-idx != idx)
-   continue;
-
-   ++idx;
-
-   if (strcmp(perf_evsel__name(evsel), name)) {
-   pr_debug(%s != %s\n, 
perf_evsel__name(evsel), name);
-   ret = -1;
-   }
-
-   evsel = perf_evsel__next(evsel);
-   }
-   }
-   }
-
-   perf_evlist__delete(evlist);
-   return ret;
-}
-
-static int __perf_evsel__name_array_test(const char *names[], int nr_names)
-{
-   int i, err;
-   struct perf_evsel *evsel;
-struct perf_evlist *evlist = perf_evlist__new(NULL, NULL);
-
-if (evlist == NULL)
-return -ENOMEM;
-
-   for (i = 0; i  nr_names; ++i) {
-   err = parse_events(evlist, names[i], 0);
-   if (err) {
-   pr_debug(failed to parse event '%s', err %d\n,
-names[i], err);
-   goto out_delete_evlist;
-   }
-   }
-
-   err = 0;
-   list_for_each_entry(evsel, evlist-entries, node) {
-   if (strcmp(perf_evsel__name(evsel), names[evsel-idx])) {
-   --err;
-   pr_debug(%s != %s\n, perf_evsel__name(evsel), 
names[evsel-idx]);
-   }
-   }
-
-out_delete_evlist:
-   perf_evlist__delete(evlist);
-   return err;
-}
-
-#define perf_evsel__name_array_test(names) \
-   __perf_evsel__name_array_test(names, ARRAY_SIZE(names))
-
-static int perf_evsel__roundtrip_name_test(void)
-{
-   int err = 0, ret = 0;
-
-   err =