Re: [PATCH v3 04/15] kunit: Add documentation for warning backtrace suppression API
David Gow <[email protected]>
| Newsgroups | gmane.linux.ports.riscv,gmane.comp.video.dri.devel,gmane.linux.kernel.cross-arch,gmane.linux.ports.arm.kernel,gmane.linux.documentation,gmane.linux.kernel,gmane.linux.ports.parisc,gmane.linux.ports.ppc64.devel,gmane.linux.ports.sh.devel,gmane.linux.network |
|---|---|
| Message-ID | <CABVgOSkk-QhmemH0p_VmiLrqLDs7SxD-mc-mjzfE4+1tj5mB+w@mail.gmail.com> |
On Wed, 3 Apr 2024 at 21:19, Guenter Roeck <[email protected]> wrote: > > Document API functions for suppressing warning backtraces. > > Tested-by: Linux Kernel Functional Testing <[email protected]> > Acked-by: Dan Carpenter <[email protected]> > Reviewed-by: Kees Cook <[email protected]> > Signed-off-by: Guenter Roeck <[email protected]> > --- This looks good to me: thanks for adding the documentation! If we add integration between this and the KUnit resource system, we'll need to add that to this documentation. I wonder if it would make sense to have an example where the DEFINE_SUPPRESSED_WARNING() is global, e.g., in the test init/exit functions. That might overcomplicate it a bit. It also might be nice to document the individual macros with kerneldoc comments. (Though, that could equally fit in patch #1). Still, this is the most important bit, so I'm happy to have it as-is. Reviewed-by: David Gow <[email protected]> Cheers, -- David > v2: > - Rebased to v6.9-rc1 > - Added Tested-by:, Acked-by:, and Reviewed-by: tags > v3: > - Rebased to v6.9-rc2 > > Documentation/dev-tools/kunit/usage.rst | 30 ++++++++++++++++++++++++- > 1 file changed, 29 insertions(+), 1 deletion(-) > > diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst > index 22955d56b379..8d3d36d4103d 100644 > --- a/Documentation/dev-tools/kunit/usage.rst > +++ b/Documentation/dev-tools/kunit/usage.rst > @@ -157,6 +157,34 @@ Alternatively, one can take full control over the error message by using > if (some_setup_function()) > KUNIT_FAIL(test, "Failed to setup thing for testing"); > > +Suppressing warning backtraces > +------------------------------ > + > +Some unit tests trigger warning backtraces either intentionally or as side > +effect. Such backtraces are normally undesirable since they distract from > +the actual test and may result in the impression that there is a problem. > + > +Such backtraces can be suppressed. To suppress a backtrace in some_function(), > +use the following code. > + > +.. code-block:: c > + > + static void some_test(struct kunit *test) > + { > + DEFINE_SUPPRESSED_WARNING(some_function); > + > + START_SUPPRESSED_WARNING(some_function); > + trigger_backtrace(); > + END_SUPPRESSED_WARNING(some_function); > + } > + > +SUPPRESSED_WARNING_COUNT() returns the number of suppressed backtraces. If the > +suppressed backtrace was triggered on purpose, this can be used to check if > +the backtrace was actually triggered. > + > +.. code-block:: c > + > + KUNIT_EXPECT_EQ(test, SUPPRESSED_WARNING_COUNT(some_function), 1); > > Test Suites > ~~~~~~~~~~~ > @@ -857,4 +885,4 @@ For example: > dev_managed_string = devm_kstrdup(fake_device, "Hello, World!"); > > // Everything is cleaned up automatically when the test ends. > - } > \ No newline at end of file > + } > -- > 2.39.2 > _______________________________________________ linux-riscv mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-riscv
smime.p7s
(application/pkcs7-signature, 3.9 KB) - not displayed