| From: Guenter Roeck <linux@roeck-us.net> |
| Subject: kunit: add documentation for warning backtrace suppression API |
| Date: Thu, 13 Mar 2025 11:43:19 +0000 |
| |
| Document API functions for suppressing warning backtraces. |
| |
| Link: https://lkml.kernel.org/r/20250313114329.284104-5-acarmina@redhat.com |
| Signed-off-by: Alessandro Carminati <acarmina@redhat.com> |
| Tested-by: Linux Kernel Functional Testing <lkft@linaro.org> |
| Acked-by: Dan Carpenter <dan.carpenter@linaro.org> |
| Reviewed-by: Kees Cook <keescook@chromium.org> |
| Signed-off-by: Guenter Roeck <linux@roeck-us.net> |
| Reviewed-by: David Gow <davidgow@google.com> |
| Cc: Albert Ou <aou@eecs.berkeley.edu> |
| Cc: Alexander Gordeev <agordeev@linux.ibm.com> |
| Cc: Arnd Bergmann <arnd@arndb.de> |
| Cc: Arthur Grillo <arthurgrillo@riseup.net> |
| Cc: Borislav Petkov <bp@alien8.de> |
| Cc: Brendan Higgins <brendan.higgins@linux.dev> |
| Cc: Catalin Marinas <catalin.marinas@arm.com> |
| Cc: Charlie Jenkins <charlie@rivosinc.com> |
| Cc: Daniel Diaz <daniel.diaz@linaro.org> |
| Cc: Daniel Vetter <daniel@ffwll.ch> |
| Cc: Dave Airlie <airlied@gmail.com> |
| Cc: Dave Hansen <dave.hansen@linux.intel.com> |
| Cc: Heiko Carstens <hca@linux.ibm.com> |
| Cc: Helge Deller <deller@gmx.de> |
| Cc: Huacai Chen <chenhuacai@kernel.org> |
| Cc: Ingo Molnar <mingo@redhat.com> |
| Cc: Jani Nikula <jani.nikula@intel.com> |
| Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> |
| Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> |
| Cc: Maíra Canal <mcanal@igalia.com> |
| Cc: Maxime Ripard <mripard@kernel.org> |
| Cc: Michael Ellerman <mpe@ellerman.id.au> |
| Cc: Naresh Kamboju <naresh.kamboju@linaro.org> |
| Cc: Palmer Dabbelt <palmer@dabbelt.com> |
| Cc: Paul Walmsley <paul.walmsley@sifive.com> |
| Cc: Rae Moar <rmoar@google.com> |
| Cc: Rich Felker <dalias@libc.org> |
| Cc: Simon Horman <horms@kernel.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Cc: Thomas Zimemrmann <tzimmermann@suse.de> |
| Cc: Vasily Gorbik <gor@linux.ibm.com> |
| Cc: Ville Syrjala <ville.syrjala@linux.intel.com> |
| Cc: Will Deacon <will@kernel.org> |
| Cc: Yoshinori Sato <ysato@users.sourceforge.jp> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/dev-tools/kunit/usage.rst | 30 +++++++++++++++++++++- |
| 1 file changed, 29 insertions(+), 1 deletion(-) |
| |
| --- a/Documentation/dev-tools/kunit/usage.rst~kunit-add-documentation-for-warning-backtrace-suppression-api |
| +++ a/Documentation/dev-tools/kunit/usage.rst |
| @@ -157,6 +157,34 @@ Alternatively, one can take full control |
| 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); |
| + |
| + KUNIT_START_SUPPRESSED_WARNING(some_function); |
| + trigger_backtrace(); |
| + KUNIT_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 |
| + } |
| _ |