Re: [PATCH 4/5] kunit: assert: export non-static functions

From: David Gow
Date: Sat Jun 08 2024 - 05:21:20 EST


On Tue, 4 Jun 2024 at 20:32, Ivan Orlov <ivan.orlov0322@xxxxxxxxx> wrote:
>
> Export non-static functions from the assert.c file into the KUnit
> namespace in order to be able to access them from the tests if
> they are compiled as modules.
>
> Signed-off-by: Ivan Orlov <ivan.orlov0322@xxxxxxxxx>
> ---

I think this could be merged with patch 5, as it's not useful on its
own. Also, a few of the symbol names might be a little too generic to
be exported: maybe we should give them a 'kunit_assert' prefix?

Cheers,
-- David

> lib/kunit/assert.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/lib/kunit/assert.c b/lib/kunit/assert.c
> index 867aa5c4bccf..f394e4b8482f 100644
> --- a/lib/kunit/assert.c
> +++ b/lib/kunit/assert.c
> @@ -38,6 +38,7 @@ void kunit_assert_print_msg(const struct va_format *message,
> if (message->fmt)
> string_stream_add(stream, "\n%pV", message);
> }
> +EXPORT_SYMBOL_IF_KUNIT(kunit_assert_print_msg);
>
> void kunit_fail_assert_format(const struct kunit_assert *assert,
> const struct va_format *message,
> @@ -112,6 +113,7 @@ VISIBLE_IF_KUNIT bool is_literal(const char *text, long long value)
>
> return ret;
> }
> +EXPORT_SYMBOL_IF_KUNIT(is_literal);

I'm a bit worried about having such a generic name exported, even
conditionally and to a namespace. Maybe we could give this a
'kunit_assert' prefix, or put it in a separate, more specific
namespace?

>
> void kunit_binary_assert_format(const struct kunit_assert *assert,
> const struct va_format *message,
> @@ -180,6 +182,7 @@ VISIBLE_IF_KUNIT bool is_str_literal(const char *text, const char *value)
>
> return strncmp(text + 1, value, len - 2) == 0;
> }
> +EXPORT_SYMBOL_IF_KUNIT(is_str_literal);

I'm a bit worried about having such a generic name exported, even
conditionally and to a namespace. Maybe we could give this a
'kunit_assert' prefix, or put it in a separate, more specific
namespace?




> void kunit_binary_str_assert_format(const struct kunit_assert *assert,
> const struct va_format *message,
> @@ -232,6 +235,7 @@ void kunit_assert_hexdump(struct string_stream *stream,
> string_stream_add(stream, " %02x ", buf1[i]);
> }
> }
> +EXPORT_SYMBOL_IF_KUNIT(kunit_assert_hexdump);
>
> void kunit_mem_assert_format(const struct kunit_assert *assert,
> const struct va_format *message,
> --
> 2.34.1
>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature