From: "Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>
To: davidgow@google.com, Rae Moar <rmoar@google.com>,
Brendan Higgins <brendan.higgins@linux.dev>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Matti Vaittinen <mazziesaccount@gmail.com>,
Stephen Boyd <sboyd@kernel.org>,
Shuah Khan <skhan@linuxfoundation.org>,
Jonathan Corbet <corbet@lwn.net>,
Kees Cook <keescook@chromium.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>, Maxime Ripard <mripard@kernel.org>
Cc: linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-hardening@vger.kernel.org, linux-sound@vger.kernel.org
Subject: Re: [PATCH 1/4] kunit: Add APIs for managing devices
Date: Tue, 5 Dec 2023 10:02:07 +0100 [thread overview]
Message-ID: <f370cc19-719c-49dc-81a1-45a8ec4a6f3e@linux.intel.com> (raw)
In-Reply-To: <20231205-kunit_bus-v1-1-635036d3bc13@google.com>
On 12/5/2023 8:31 AM, davidgow@google.com wrote:
> Tests for drivers often require a struct device to pass to other
> functions. While it's possible to create these with
> root_device_register(), or to use something like a platform device, this
> is both a misuse of those APIs, and can be difficult to clean up after,
> for example, a failed assertion.
>
> Add some KUnit-specific functions for registering and unregistering a
> struct device:
> - kunit_device_register()
> - kunit_device_register_with_driver()
> - kunit_device_unregister()
>
> These helpers allocate a on a 'kunit' bus which will either probe the
> driver passed in (kunit_device_register_with_driver), or will create a
> stub driver (kunit_device_register) which is cleaned up on test shutdown.
>
> Devices are automatically unregistered on test shutdown, but can be
> manually unregistered earlier with kunit_device_unregister() in order
> to, for example, test device release code.
>
> Signed-off-by: David Gow <davidgow@google.com>
> ---
> Documentation/dev-tools/kunit/usage.rst | 49 +++++++++
> include/kunit/device.h | 76 ++++++++++++++
> lib/kunit/Makefile | 3 +-
> lib/kunit/device.c | 176 ++++++++++++++++++++++++++++++++
> lib/kunit/kunit-test.c | 68 +++++++++++-
> lib/kunit/test.c | 3 +
> 6 files changed, 373 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst
> index 9db12e91668e..a222a98edceb 100644
> --- a/Documentation/dev-tools/kunit/usage.rst
> +++ b/Documentation/dev-tools/kunit/usage.rst
> @@ -797,3 +797,52 @@ structures as shown below:
> KUnit is not enabled, or if no test is running in the current task, it will do
> nothing. This compiles down to either a no-op or a static key check, so will
> have a negligible performance impact when no test is running.
> +
> +Managing Fake Devcices and Drivers
> +----------------------------------
Typo: Devices
next prev parent reply other threads:[~2023-12-05 9:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-05 7:31 [PATCH 0/4] kunit: Add helpers for creating test-managed devices davidgow
2023-12-05 7:31 ` [PATCH 1/4] kunit: Add APIs for managing devices davidgow
2023-12-05 8:30 ` Matti Vaittinen
2023-12-06 7:43 ` David Gow
2023-12-05 9:00 ` Maxime Ripard
2023-12-05 9:02 ` Amadeusz Sławiński [this message]
2023-12-05 13:53 ` kernel test robot
2023-12-05 14:59 ` kernel test robot
2023-12-05 15:10 ` kernel test robot
2023-12-05 16:05 ` kernel test robot
2023-12-05 17:30 ` Greg Kroah-Hartman
2023-12-06 7:44 ` David Gow
2023-12-07 2:29 ` Greg Kroah-Hartman
2023-12-05 7:31 ` [PATCH 2/4] fortify: test: Use kunit_device davidgow
2023-12-05 8:39 ` Matti Vaittinen
2023-12-06 21:07 ` Kees Cook
2023-12-08 7:38 ` David Gow
2023-12-05 7:31 ` [PATCH 3/4] overflow: Replace fake root_device with kunit_device davidgow
2023-12-05 8:46 ` Matti Vaittinen
2023-12-05 7:31 ` [PATCH 4/4] ASoC: topology: Replace fake root_device with kunit_device in tests davidgow
2023-12-05 9:02 ` Amadeusz Sławiński
2023-12-05 13:03 ` Mark Brown
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=f370cc19-719c-49dc-81a1-45a8ec4a6f3e@linux.intel.com \
--to=amadeuszx.slawinski@linux.intel.com \
--cc=brendan.higgins@linux.dev \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=davidgow@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=keescook@chromium.org \
--cc=kunit-dev@googlegroups.com \
--cc=lgirdwood@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=mazziesaccount@gmail.com \
--cc=mripard@kernel.org \
--cc=perex@perex.cz \
--cc=rmoar@google.com \
--cc=sboyd@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=tiwai@suse.com \
/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).