From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: David Gow <davidgow@google.com>,
Brendan Higgins <brendanhiggins@google.com>,
Luis Chamberlain <mcgrof@kernel.org>,
Jeremy Kerr <jk@codeconstruct.com.au>,
Daniel Latypov <dlatypov@google.com>,
Shuah Khan <skhan@linuxfoundation.org>,
Andrew Jeffery <andrew@aj.id.au>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Andra Paraschiv <andraprs@amazon.com>,
Longpeng <longpeng2@huawei.com>
Cc: "kunit-dev@googlegroups.com" <kunit-dev@googlegroups.com>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Maíra Canal" <maira.canal@usp.br>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
"linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>,
"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-modules@vger.kernel.org" <linux-modules@vger.kernel.org>,
"Matt Johnston" <matt@codeconstruct.com.au>
Subject: Re: [PATCH 0/5] Rework KUnit test execution in modules
Date: Sat, 18 Jun 2022 17:41:28 +0000 [thread overview]
Message-ID: <87335c4a-7050-79e3-ec5c-4684a180193a@csgroup.eu> (raw)
In-Reply-To: <20220618090310.1174932-1-davidgow@google.com>
Le 18/06/2022 à 11:03, David Gow a écrit :
> [Vous ne recevez pas souvent de courriers de davidgow@google.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> This patch series makes two changes to how KUnit test suites are stored
> and executed:
> - The .kunit_test_suites section is now used for tests in modules (in
> lieu of a module_init funciton), as well as for built-in tests. The
> module loader will now trigger test execution. This frees up the
> module_init function for other uses.
> - Instead of storing an array of arrays of suites, have the
> kunit_test_suite() and kunit_test_suites() macros append to one global
> (or per-module) list of test suites. This removes a needless layer of
> indirection.
>
> The upshot of this is that it should now be possible to use the
> kunit_test_suite() and kunit_test_suites() macros to register test
> suites even from within modules which otherwise had module_init
> functions. This was proving to be quite a common issue, resulting in
> several modules calling into KUnit's private suite execution functions
> to run their tests (often introducing incompatibilities with the KUnit
> tooling).
>
> This series also fixes the thunderbolt, nitro_enclaves, and
> sdhci-of-aspeed tests to use kunit_test_suite() now that it works.
>
> Huge thanks to Jeremy Kerr, who designed and implemented the module
> loader changes, and to Daniel Latypov for pushing the simplification of
> the nested arrays in .kunit_test_suites.
>
> I've tested this series both with builtin tests, and with modules on
> x86_64, but there's always the possibility that there's something subtle
> and nasty on another architecture, so please test!
Build failure on powerpc architecture with ppc64_defconfig +
CONFIG_KUNIT_TEST=m
CC [M] lib/kunit/test.o
lib/kunit/test.c: In function 'kunit_module_init':
lib/kunit/test.c:616:37: error: 'struct module' has no member named
'kunit_suites'
616 | __kunit_test_suites_init(mod->kunit_suites,
mod->num_kunit_suites);
| ^~
lib/kunit/test.c:616:56: error: 'struct module' has no member named
'num_kunit_suites'
616 | __kunit_test_suites_init(mod->kunit_suites,
mod->num_kunit_suites);
| ^~
lib/kunit/test.c: In function 'kunit_module_exit':
lib/kunit/test.c:621:37: error: 'struct module' has no member named
'kunit_suites'
621 | __kunit_test_suites_exit(mod->kunit_suites,
mod->num_kunit_suites);
| ^~
lib/kunit/test.c:621:56: error: 'struct module' has no member named
'num_kunit_suites'
621 | __kunit_test_suites_exit(mod->kunit_suites,
mod->num_kunit_suites);
| ^~
Christophe
prev parent reply other threads:[~2022-06-18 17:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-18 9:03 [PATCH 0/5] Rework KUnit test execution in modules David Gow
2022-06-18 9:03 ` [PATCH 1/5] kunit: unify module and builtin suite definitions David Gow
2022-06-18 11:36 ` kernel test robot
2022-06-18 12:47 ` kernel test robot
2022-06-18 9:03 ` [PATCH 2/5] kunit: flatten kunit_suite*** to kunit_suite** in .kunit_test_suites David Gow
2022-06-18 13:58 ` kernel test robot
2022-06-18 14:49 ` kernel test robot
2022-06-18 9:03 ` [PATCH 3/5] thunderbolt: test: Use kunit_test_suite() macro David Gow
2022-06-20 5:05 ` Mika Westerberg
2022-06-18 9:03 ` [PATCH 4/5] nitro_enclaves: " David Gow
2022-06-20 9:26 ` Paraschiv, Andra-Irina
2022-06-18 9:03 ` [PATCH 5/5] mmc: sdhci-of-aspeed: " David Gow
2022-06-18 17:11 ` [PATCH 0/5] Rework KUnit test execution in modules Maíra Canal
2022-06-18 17:41 ` Christophe Leroy [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87335c4a-7050-79e3-ec5c-4684a180193a@csgroup.eu \
--to=christophe.leroy@csgroup.eu \
--cc=andraprs@amazon.com \
--cc=andrew@aj.id.au \
--cc=brendanhiggins@google.com \
--cc=davidgow@google.com \
--cc=dlatypov@google.com \
--cc=jk@codeconstruct.com.au \
--cc=kunit-dev@googlegroups.com \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=longpeng2@huawei.com \
--cc=maira.canal@usp.br \
--cc=matt@codeconstruct.com.au \
--cc=mcgrof@kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=openbmc@lists.ozlabs.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).