Re: [RFC PATCH 3/5] perf test: Make each test/suite its own struct.
From: Jiri Olsa <hidden>
Date: 2021-09-26 21:12:25
Also in:
lkml
On Wed, Sep 22, 2021 at 01:19:56AM -0700, Ian Rogers wrote:
quoted hunk ↗ jump to hunk
By switching to an array of pointers to tests (later to be suites) the definition of the tests can be moved to the file containing the tests. Signed-off-by: Ian Rogers <irogers@google.com> --- tools/perf/arch/arm/include/arch-tests.h | 2 +- tools/perf/arch/arm/tests/arch-tests.c | 21 +- tools/perf/arch/arm64/include/arch-tests.h | 2 +- tools/perf/arch/arm64/tests/arch-tests.c | 15 +- tools/perf/arch/powerpc/include/arch-tests.h | 2 +- tools/perf/arch/powerpc/tests/arch-tests.c | 15 +- tools/perf/arch/x86/include/arch-tests.h | 2 +- tools/perf/arch/x86/tests/arch-tests.c | 47 ++-- tools/perf/tests/builtin-test.c | 273 ++++++++++++------- tools/perf/tests/tests.h | 6 + 10 files changed, 220 insertions(+), 165 deletions(-)diff --git a/tools/perf/arch/arm/include/arch-tests.h b/tools/perf/arch/arm/include/arch-tests.h index c62538052404..37039e80f18b 100644 --- a/tools/perf/arch/arm/include/arch-tests.h +++ b/tools/perf/arch/arm/include/arch-tests.h@@ -2,6 +2,6 @@ #ifndef ARCH_TESTS_H #define ARCH_TESTS_H -extern struct test arch_tests[]; +extern struct test *arch_tests[]; #endifdiff --git a/tools/perf/arch/arm/tests/arch-tests.c b/tools/perf/arch/arm/tests/arch-tests.c index 6848101a855f..4374b0293177 100644 --- a/tools/perf/arch/arm/tests/arch-tests.c +++ b/tools/perf/arch/arm/tests/arch-tests.c@@ -3,18 +3,15 @@ #include "tests/tests.h" #include "arch-tests.h" -struct test arch_tests[] = { #ifdef HAVE_DWARF_UNWIND_SUPPORT - { - .desc = "DWARF unwind", - .func = test__dwarf_unwind, - }, +DEFINE_SUITE("DWARF unwind", dwarf_unwind);
why not having this and other in here DEFINE_SUITE in tests/dwarf-unwind.c ? it seems to get compiled in only for supported arch jirka
#endif
- {
- .desc = "Vectors page",
- .func = test__vectors_page,
- },
- {
- .func = NULL,
- },
+DEFINE_SUITE("Vectors page", vectors_page);
+
+struct test *arch_tests[] = {
+#ifdef HAVE_DWARF_UNWIND_SUPPORT
+ &dwarf_unwind,
+#endif
+ &vectors_pages,
+ NULL,
};SNIP