Thread (30 messages) 30 messages, 3 authors, 2020-08-04

Re: [PATCH v5 01/12] vmlinux.lds.h: add linker section for KUnit test suites

From: Luis Chamberlain <mcgrof@kernel.org>
Date: 2020-07-08 04:31:33
Also in: linux-arch, linux-arm-kernel, linux-doc, linux-kselftest, linux-um, lkml

On Fri, Jun 26, 2020 at 02:22:11PM -0700, Brendan Higgins wrote:
On Fri, Jun 26, 2020 at 2:20 PM Kees Cook [off-list ref] wrote:
quoted
On Fri, Jun 26, 2020 at 02:09:06PM -0700, Brendan Higgins wrote:
quoted
Add a linker section where KUnit can put references to its test suites.
This patch is the first step in transitioning to dispatching all KUnit
tests from a centralized executor rather than having each as its own
separate late_initcall.

Co-developed-by: Iurii Zaikin <redacted>
Signed-off-by: Iurii Zaikin <redacted>
Signed-off-by: Brendan Higgins <redacted>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
---
 include/asm-generic/vmlinux.lds.h | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index db600ef218d7d..4f9b036fc9616 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -881,6 +881,13 @@
              KEEP(*(.con_initcall.init))                             \
              __con_initcall_end = .;

+/* Alignment must be consistent with (kunit_suite *) in include/kunit/test.h */
Nit on naming:
quoted
+#define KUNIT_TEST_SUITES                                            \
I would call this KUNIT_TABLE to maintain the same names as other things
of this nature.
quoted
+             . = ALIGN(8);                                           \
+             __kunit_suites_start = .;                               \
+             KEEP(*(.kunit_test_suites))                             \
+             __kunit_suites_end = .;
+
 #ifdef CONFIG_BLK_DEV_INITRD
 #define INIT_RAM_FS                                                  \
      . = ALIGN(4);                                                   \
@@ -1056,6 +1063,7 @@
              INIT_CALLS                                              \
              CON_INITCALL                                            \
              INIT_RAM_FS                                             \
+             KUNIT_TEST_SUITES                                       \
      }
Nack: this must be in INIT_DATA, not in INIT_DATA_SECTION. Not all
architectures use the INIT_DATA_SECTION macro (e.g. arm64), but everything
uses INIT_DATA.
Oh, maybe that would eliminate the need for the other linkerscript
patches? That would be nice.
Curious, did changing it as Kees suggest fix it for m68k?

  Luis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help