Thread (16 messages) 16 messages, 4 authors, 2021-10-08

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[];

 #endif
diff --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
jirka
quoted
 #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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help