From: David Gow <davidgow@google.com>
To: 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: "David Gow" <davidgow@google.com>,
kunit-dev@googlegroups.com, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org, "Maíra Canal" <maira.canal@usp.br>,
linux-mmc@vger.kernel.org, linux-aspeed@lists.ozlabs.org,
openbmc@lists.ozlabs.org, linux-usb@vger.kernel.org,
linux-modules@vger.kernel.org,
"Matt Johnston" <matt@codeconstruct.com.au>
Subject: [PATCH 0/5] Rework KUnit test execution in modules
Date: Sat, 18 Jun 2022 17:03:05 +0800 [thread overview]
Message-ID: <20220618090310.1174932-1-davidgow@google.com> (raw)
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!
Cheers,
-- David
Daniel Latypov (1):
kunit: flatten kunit_suite*** to kunit_suite** in .kunit_test_suites
David Gow (3):
thunderbolt: test: Use kunit_test_suite() macro
nitro_enclaves: test: Use kunit_test_suite() macro
mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro
Jeremy Kerr (1):
kunit: unify module and builtin suite definitions
drivers/mmc/host/Kconfig | 5 +-
drivers/mmc/host/sdhci-of-aspeed-test.c | 8 +-
drivers/mmc/host/sdhci-of-aspeed.c | 27 ----
drivers/thunderbolt/Kconfig | 5 +-
drivers/thunderbolt/domain.c | 3 -
drivers/thunderbolt/tb.h | 8 -
drivers/thunderbolt/test.c | 12 +-
drivers/virt/nitro_enclaves/Kconfig | 5 +-
drivers/virt/nitro_enclaves/ne_misc_dev.c | 27 ----
.../virt/nitro_enclaves/ne_misc_dev_test.c | 5 +-
include/kunit/test.h | 60 ++------
include/linux/module.h | 5 +
kernel/module/main.c | 6 +
lib/kunit/executor.c | 117 ++++-----------
lib/kunit/executor_test.c | 139 +++++-------------
lib/kunit/test.c | 54 ++++++-
16 files changed, 152 insertions(+), 334 deletions(-)
--
2.36.1.476.g0c4daa206d-goog
next reply other threads:[~2022-06-18 9:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-18 9:03 David Gow [this message]
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
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=20220618090310.1174932-1-davidgow@google.com \
--to=davidgow@google.com \
--cc=andraprs@amazon.com \
--cc=andrew@aj.id.au \
--cc=brendanhiggins@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).