Re: [RFC PATCH 3/5] perf test: Make each test/suite its own struct.
From: Ian Rogers <irogers@google.com>
Date: 2021-09-27 16:09:10
Also in:
lkml
On Sun, Sep 26, 2021 at 2:12 PM Jiri Olsa [off-list ref] wrote:
On Wed, Sep 22, 2021 at 01:19:56AM -0700, Ian Rogers wrote:quoted
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
Not sure I follow. In these changes I've just tried to move things around without changing the logic behind things. This sounds like a sensible follow up clean up. Thanks, Ian
jirkaquoted
#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