Message ID | 20220720185719.273630-1-mairacanal@riseup.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 4c392516accfe51a1aaf80ed163517646f8f0476 |
Delegated to: | Brendan Higgins |
Headers | show |
Series | [RESEND,v2] Documentation: KUnit: Fix example with compilation error | expand |
On Wed, Jul 20, 2022 at 11:57 AM Maíra Canal <mairacanal@riseup.net> wrote: > > The Parameterized Testing example contains a compilation error, as the > signature for the description helper function is void(*)(const struct > sha1_test_case *, char *), and the struct is non-const. This is > warned by Clang: > > error: initialization of ‘void (*)(struct sha1_test_case *, char *)’ > from incompatible pointer type ‘void (*)(const struct sha1_test_case *, > char *)’ [-Werror=incompatible-pointer-types] > 33 | KUNIT_ARRAY_PARAM(sha1, cases, case_to_desc); > | ^~~~~~~~~~~~ > ../include/kunit/test.h:1339:70: note: in definition of macro > ‘KUNIT_ARRAY_PARAM’ > 1339 | void > (*__get_desc)(typeof(__next), char *) = get_desc; \ > > Signed-off-by: Maíra Canal <mairacanal@riseup.net> Reviewed-by: Daniel Latypov <dlatypov@google.com> Thanks for fixing this!
On Wed, Jul 20, 2022 at 2:57 PM Maíra Canal <mairacanal@riseup.net> wrote: > > The Parameterized Testing example contains a compilation error, as the > signature for the description helper function is void(*)(const struct > sha1_test_case *, char *), and the struct is non-const. This is > warned by Clang: > > error: initialization of ‘void (*)(struct sha1_test_case *, char *)’ > from incompatible pointer type ‘void (*)(const struct sha1_test_case *, > char *)’ [-Werror=incompatible-pointer-types] > 33 | KUNIT_ARRAY_PARAM(sha1, cases, case_to_desc); > | ^~~~~~~~~~~~ > ../include/kunit/test.h:1339:70: note: in definition of macro > ‘KUNIT_ARRAY_PARAM’ > 1339 | void > (*__get_desc)(typeof(__next), char *) = get_desc; \ > > Signed-off-by: Maíra Canal <mairacanal@riseup.net> Thanks! Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst index d62a04255c2e..44158eecb51e 100644 --- a/Documentation/dev-tools/kunit/usage.rst +++ b/Documentation/dev-tools/kunit/usage.rst @@ -505,7 +505,7 @@ By reusing the same ``cases`` array from above, we can write the test as a const char *str; const char *sha1; }; - struct sha1_test_case cases[] = { + const struct sha1_test_case cases[] = { { .str = "hello world", .sha1 = "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed",
The Parameterized Testing example contains a compilation error, as the signature for the description helper function is void(*)(const struct sha1_test_case *, char *), and the struct is non-const. This is warned by Clang: error: initialization of ‘void (*)(struct sha1_test_case *, char *)’ from incompatible pointer type ‘void (*)(const struct sha1_test_case *, char *)’ [-Werror=incompatible-pointer-types] 33 | KUNIT_ARRAY_PARAM(sha1, cases, case_to_desc); | ^~~~~~~~~~~~ ../include/kunit/test.h:1339:70: note: in definition of macro ‘KUNIT_ARRAY_PARAM’ 1339 | void (*__get_desc)(typeof(__next), char *) = get_desc; \ Signed-off-by: Maíra Canal <mairacanal@riseup.net> --- v1 -> v2: https://lore.kernel.org/linux-kselftest/CABVgOSkFKJBNt-AsWmOh2Oni4QO2xdiXJiYD1EVcS-Qz=BjJRw@mail.gmail.com/T/#mf546fc75bf9e5bd27cb3bbd531b51409fbc87a9d - Instead of changing the function signature to non-const, makes the cases const (David Gow). --- Documentation/dev-tools/kunit/usage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)