All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.