2023-02-04 04:05:27

by David Gow

[permalink] [raw]
Subject: [PATCH] kunit: Add printf attribute to fail_current_test_impl

Add the gnu_printf (__printf()) attribute to the
kunit_fail_current_test() implementation in
__kunit_fail_current_test_impl(). While it's not actually useful here,
as this function is never called directly, it nevertheless was
triggering -Wsuggest-attribute=format warnings, so we should add it to
reduce the noise.

Fixes: cc3ed2fe5c93 ("kunit: Add "hooks" to call into KUnit when it's built as a module")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: David Gow <[email protected]>
---
lib/kunit/hooks-impl.h | 4 +++-
lib/kunit/test.c | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/kunit/hooks-impl.h b/lib/kunit/hooks-impl.h
index ec745a39832c..4e71b2d0143b 100644
--- a/lib/kunit/hooks-impl.h
+++ b/lib/kunit/hooks-impl.h
@@ -15,7 +15,9 @@
#include <kunit/test-bug.h>

/* List of declarations. */
-void __kunit_fail_current_test_impl(const char *file, int line, const char *fmt, ...);
+void __printf(3, 4) __kunit_fail_current_test_impl(const char *file,
+ int line,
+ const char *fmt, ...);
void *__kunit_get_static_stub_address_impl(struct kunit *test, void *real_fn_addr);

/* Code to set all of the function pointers. */
diff --git a/lib/kunit/test.c b/lib/kunit/test.c
index 51cae59d8aae..c9e15bb60058 100644
--- a/lib/kunit/test.c
+++ b/lib/kunit/test.c
@@ -24,7 +24,7 @@
/*
* Hook to fail the current test and print an error message to the log.
*/
-void __kunit_fail_current_test_impl(const char *file, int line, const char *fmt, ...)
+void __printf(3, 4) __kunit_fail_current_test_impl(const char *file, int line, const char *fmt, ...)
{
va_list args;
int len;
--
2.39.1.519.gcb327c4b5f-goog



2023-02-07 22:04:20

by Rae Moar

[permalink] [raw]
Subject: Re: [PATCH] kunit: Add printf attribute to fail_current_test_impl

On Fri, Feb 3, 2023 at 11:05 PM David Gow <[email protected]> wrote:
>
> Add the gnu_printf (__printf()) attribute to the
> kunit_fail_current_test() implementation in
> __kunit_fail_current_test_impl(). While it's not actually useful here,
> as this function is never called directly, it nevertheless was
> triggering -Wsuggest-attribute=format warnings, so we should add it to
> reduce the noise.
>
> Fixes: cc3ed2fe5c93 ("kunit: Add "hooks" to call into KUnit when it's built as a module")
> Reported-by: kernel test robot <[email protected]>
> Signed-off-by: David Gow <[email protected]>

Hi David,

I have tested and reviewed this and it looks good to me.

Thanks for fixing this!

Reviewed-by: Rae Moar <[email protected]>

> ---
> lib/kunit/hooks-impl.h | 4 +++-
> lib/kunit/test.c | 2 +-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/lib/kunit/hooks-impl.h b/lib/kunit/hooks-impl.h
> index ec745a39832c..4e71b2d0143b 100644
> --- a/lib/kunit/hooks-impl.h
> +++ b/lib/kunit/hooks-impl.h
> @@ -15,7 +15,9 @@
> #include <kunit/test-bug.h>
>
> /* List of declarations. */
> -void __kunit_fail_current_test_impl(const char *file, int line, const char *fmt, ...);
> +void __printf(3, 4) __kunit_fail_current_test_impl(const char *file,
> + int line,
> + const char *fmt, ...);
> void *__kunit_get_static_stub_address_impl(struct kunit *test, void *real_fn_addr);
>
> /* Code to set all of the function pointers. */
> diff --git a/lib/kunit/test.c b/lib/kunit/test.c
> index 51cae59d8aae..c9e15bb60058 100644
> --- a/lib/kunit/test.c
> +++ b/lib/kunit/test.c
> @@ -24,7 +24,7 @@
> /*
> * Hook to fail the current test and print an error message to the log.
> */
> -void __kunit_fail_current_test_impl(const char *file, int line, const char *fmt, ...)
> +void __printf(3, 4) __kunit_fail_current_test_impl(const char *file, int line, const char *fmt, ...)
> {
> va_list args;
> int len;
> --
> 2.39.1.519.gcb327c4b5f-goog
>