From: Stephen Boyd <sboyd@kernel.org>
To: Daniel Latypov <dlatypov@google.com>
Cc: Michael Turquette <mturquette@baylibre.com>,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
patches@lists.linux.dev,
Brendan Higgins <brendan.higgins@linux.dev>,
David Gow <davidgow@google.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rafael J . Wysocki <rafael@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Frank Rowand <frowand.list@gmail.com>,
Christian Marangi <ansuelsmth@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
devicetree@vger.kernel.org, linux-kselftest@vger.kernel.org,
kunit-dev@googlegroups.com, Maxime Ripard <maxime@cerno.tech>
Subject: Re: [PATCH v3 05/11] of: Add a KUnit test for overlays and test managed APIs
Date: Wed, 12 Apr 2023 17:26:02 -0700 [thread overview]
Message-ID: <eaf237baf3a0bfd5bf4c7e97e32f9261.sboyd@kernel.org> (raw)
In-Reply-To: <CAGS_qxryWVOT9cBtKk28=NupbLP6_AiCj0P3np2GpMVKkyQOLg@mail.gmail.com>
Quoting Daniel Latypov (2023-04-12 17:04:26)
> On Mon, Mar 27, 2023 at 3:22 PM Stephen Boyd <sboyd@kernel.org> wrote:
> > +/* Test that of_overlay_apply_kunit() cleans up after the test is finished */
> > +static void of_overlay_apply_kunit_cleanup(struct kunit *test)
> > +{
> > + struct device *dev;
> > + struct device_node *np;
> > +
> > + KUNIT_ASSERT_EQ(test, 0,
> > + of_overlay_apply_kunit(test, kunit_overlay_test));
> > +
> > + np = of_find_node_by_name(NULL, kunit_node_name);
> > + of_node_put(np); /* Not derefing 'np' after this */
> > + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, np);
> > +
> > + dev = bus_find_device(&platform_bus_type, NULL, np, bus_match_np);
> > + put_device(dev); /* Not derefing 'device' after this */
> > + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, dev);
> > +
> > + /* Remove overlay */
> > + kunit_cleanup(test);
>
> Note: this cleans up *all* resources associated with `test`.
> Right now, it's probably fine, but this probably isn't the safest approach.
>
> Notably, two of the new/upcoming API changes rely on resource,
> kunit/static_stub.h and kunit_add_action() [1].
> Calling kunit_cleanup() undoes all the stubs and immediately triggers
> all the actions.
>
> Perhaps you can create your own local `struct kunit` like in [2]
> E.g.
>
> struct kunit subtest; // not sure what to call this...
>
> kunit_init_test(&subtest, "fake test", NULL);
> /* use subtest */
> kunit_cleanup(&subtest);
Thanks for the pointers. I can change this to be a fake sub-test as
that's the intention here. I was mostly following what
kunit_resource_test_static() was doing, which was calling
kunit_cleanup() on the existing test that's passed in.
next prev parent reply other threads:[~2023-04-13 0:26 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-27 22:21 [PATCH v3 00/11] clk: Add kunit tests for fixed rate and parent data Stephen Boyd
2023-03-27 22:21 ` [PATCH v3 01/11] of: Add KUnit test to confirm DTB is loaded Stephen Boyd
2023-03-27 22:21 ` [PATCH v3 02/11] of: Add test managed wrappers for of_overlay_apply()/of_node_put() Stephen Boyd
2023-04-06 14:35 ` Rob Herring
2023-04-10 19:51 ` Stephen Boyd
2023-03-27 22:21 ` [PATCH v3 03/11] dt-bindings: vendor-prefixes: Add "test" vendor for KUnit and friends Stephen Boyd
2023-04-06 15:02 ` Rob Herring
2023-03-27 22:21 ` [PATCH v3 04/11] dt-bindings: test: Add KUnit empty node binding Stephen Boyd
2023-04-06 15:02 ` Rob Herring
2023-03-27 22:21 ` [PATCH v3 05/11] of: Add a KUnit test for overlays and test managed APIs Stephen Boyd
2023-04-06 14:59 ` Rob Herring
2023-04-10 20:12 ` Stephen Boyd
2023-04-13 0:04 ` Daniel Latypov
2023-04-13 0:26 ` Stephen Boyd [this message]
2023-03-27 22:21 ` [PATCH v3 06/11] platform: Add test managed platform_device/driver APIs Stephen Boyd
2023-03-27 22:21 ` [PATCH v3 07/11] dt-bindings: kunit: Add fixed rate clk consumer test Stephen Boyd
2023-04-06 15:02 ` Rob Herring
2023-03-27 22:21 ` [PATCH v3 08/11] clk: Add test managed clk provider/consumer APIs Stephen Boyd
2023-03-27 22:21 ` [PATCH v3 09/11] clk: Add KUnit tests for clk fixed rate basic type Stephen Boyd
2023-03-27 22:21 ` [PATCH v3 10/11] dt-bindings: clk: Add KUnit clk_parent_data test Stephen Boyd
2023-04-06 15:03 ` Rob Herring
2023-03-27 22:21 ` [PATCH v3 11/11] clk: Add KUnit tests for clks registered with struct clk_parent_data Stephen Boyd
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=eaf237baf3a0bfd5bf4c7e97e32f9261.sboyd@kernel.org \
--to=sboyd@kernel.org \
--cc=ansuelsmth@gmail.com \
--cc=brendan.higgins@linux.dev \
--cc=davidgow@google.com \
--cc=devicetree@vger.kernel.org \
--cc=dlatypov@google.com \
--cc=frowand.list@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kunit-dev@googlegroups.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=maxime@cerno.tech \
--cc=mturquette@baylibre.com \
--cc=patches@lists.linux.dev \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.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