Message ID | 20240604123204.10412-2-ivan.orlov0322@gmail.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Brendan Higgins |
Headers | show |
Series | Reorganize string-stream and assert tests | expand |
On Tue, 4 Jun 2024 at 20:32, Ivan Orlov <ivan.orlov0322@gmail.com> wrote: > > Export non-static functions from the string-stream.c file into the KUnit > namespace in order to be able to access them from the KUnit core tests > (when they are loaded as modules). > > Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> > --- Looks good to me, thanks. It's very slightly hilarious to use EXPORT_SYMBOL_IF_KUNIT() here, because _of course_ KUnit is enabled, but I think it's the right idea nevertheless. Reviewed-by: David Gow <davidgow@google.com> Cheers, -- David > lib/kunit/string-stream.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/lib/kunit/string-stream.c b/lib/kunit/string-stream.c > index 54f4fdcbfac8..a5e3339854da 100644 > --- a/lib/kunit/string-stream.c > +++ b/lib/kunit/string-stream.c > @@ -10,7 +10,7 @@ > #include <kunit/test.h> > #include <linux/list.h> > #include <linux/slab.h> > - > +#include <kunit/visibility.h> > #include "string-stream.h" > > > @@ -86,6 +86,7 @@ int string_stream_vadd(struct string_stream *stream, > > return 0; > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_vadd); > > int string_stream_add(struct string_stream *stream, const char *fmt, ...) > { > @@ -98,6 +99,7 @@ int string_stream_add(struct string_stream *stream, const char *fmt, ...) > > return result; > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_add); > > void string_stream_clear(struct string_stream *stream) > { > @@ -113,6 +115,7 @@ void string_stream_clear(struct string_stream *stream) > stream->length = 0; > spin_unlock(&stream->lock); > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_clear); > > char *string_stream_get_string(struct string_stream *stream) > { > @@ -131,6 +134,7 @@ char *string_stream_get_string(struct string_stream *stream) > > return buf; > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_get_string); > > int string_stream_append(struct string_stream *stream, > struct string_stream *other) > @@ -148,11 +152,13 @@ int string_stream_append(struct string_stream *stream, > > return ret; > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_append); > > bool string_stream_is_empty(struct string_stream *stream) > { > return list_empty(&stream->fragments); > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_is_empty); > > struct string_stream *alloc_string_stream(gfp_t gfp) > { > @@ -168,6 +174,7 @@ struct string_stream *alloc_string_stream(gfp_t gfp) > > return stream; > } > +EXPORT_SYMBOL_IF_KUNIT(alloc_string_stream); > > void string_stream_destroy(struct string_stream *stream) > { > @@ -179,6 +186,7 @@ void string_stream_destroy(struct string_stream *stream) > string_stream_clear(stream); > kfree(stream); > } > +EXPORT_SYMBOL_IF_KUNIT(string_stream_destroy); > > static void resource_free_string_stream(void *p) > { > @@ -200,8 +208,10 @@ struct string_stream *kunit_alloc_string_stream(struct kunit *test, gfp_t gfp) > > return stream; > } > +EXPORT_SYMBOL_IF_KUNIT(kunit_alloc_string_stream); > > void kunit_free_string_stream(struct kunit *test, struct string_stream *stream) > { > kunit_release_action(test, resource_free_string_stream, (void *)stream); > } > +EXPORT_SYMBOL_IF_KUNIT(kunit_free_string_stream); > -- > 2.34.1 >
On 6/8/24 10:20, David Gow wrote: > On Tue, 4 Jun 2024 at 20:32, Ivan Orlov <ivan.orlov0322@gmail.com> wrote: >> >> Export non-static functions from the string-stream.c file into the KUnit >> namespace in order to be able to access them from the KUnit core tests >> (when they are loaded as modules). >> >> Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> >> --- > > Looks good to me, thanks. > > It's very slightly hilarious to use EXPORT_SYMBOL_IF_KUNIT() here, > because _of course_ KUnit is enabled, but I think it's the right idea > nevertheless. > > Reviewed-by: David Gow <davidgow@google.com> Hi David, Thank you for the review. Yes, the name of the EXPORT_SYMBOL_IF_KUNIT macro in this case is a bit confusing... It is used not only to export the symbol conditionally (if CONFIG_KUNIT is enabled), but also to export the symbol into the KUnit namespace (so I used it as a shortcut for this action here) :)
diff --git a/lib/kunit/string-stream.c b/lib/kunit/string-stream.c index 54f4fdcbfac8..a5e3339854da 100644 --- a/lib/kunit/string-stream.c +++ b/lib/kunit/string-stream.c @@ -10,7 +10,7 @@ #include <kunit/test.h> #include <linux/list.h> #include <linux/slab.h> - +#include <kunit/visibility.h> #include "string-stream.h" @@ -86,6 +86,7 @@ int string_stream_vadd(struct string_stream *stream, return 0; } +EXPORT_SYMBOL_IF_KUNIT(string_stream_vadd); int string_stream_add(struct string_stream *stream, const char *fmt, ...) { @@ -98,6 +99,7 @@ int string_stream_add(struct string_stream *stream, const char *fmt, ...) return result; } +EXPORT_SYMBOL_IF_KUNIT(string_stream_add); void string_stream_clear(struct string_stream *stream) { @@ -113,6 +115,7 @@ void string_stream_clear(struct string_stream *stream) stream->length = 0; spin_unlock(&stream->lock); } +EXPORT_SYMBOL_IF_KUNIT(string_stream_clear); char *string_stream_get_string(struct string_stream *stream) { @@ -131,6 +134,7 @@ char *string_stream_get_string(struct string_stream *stream) return buf; } +EXPORT_SYMBOL_IF_KUNIT(string_stream_get_string); int string_stream_append(struct string_stream *stream, struct string_stream *other) @@ -148,11 +152,13 @@ int string_stream_append(struct string_stream *stream, return ret; } +EXPORT_SYMBOL_IF_KUNIT(string_stream_append); bool string_stream_is_empty(struct string_stream *stream) { return list_empty(&stream->fragments); } +EXPORT_SYMBOL_IF_KUNIT(string_stream_is_empty); struct string_stream *alloc_string_stream(gfp_t gfp) { @@ -168,6 +174,7 @@ struct string_stream *alloc_string_stream(gfp_t gfp) return stream; } +EXPORT_SYMBOL_IF_KUNIT(alloc_string_stream); void string_stream_destroy(struct string_stream *stream) { @@ -179,6 +186,7 @@ void string_stream_destroy(struct string_stream *stream) string_stream_clear(stream); kfree(stream); } +EXPORT_SYMBOL_IF_KUNIT(string_stream_destroy); static void resource_free_string_stream(void *p) { @@ -200,8 +208,10 @@ struct string_stream *kunit_alloc_string_stream(struct kunit *test, gfp_t gfp) return stream; } +EXPORT_SYMBOL_IF_KUNIT(kunit_alloc_string_stream); void kunit_free_string_stream(struct kunit *test, struct string_stream *stream) { kunit_release_action(test, resource_free_string_stream, (void *)stream); } +EXPORT_SYMBOL_IF_KUNIT(kunit_free_string_stream);
Export non-static functions from the string-stream.c file into the KUnit namespace in order to be able to access them from the KUnit core tests (when they are loaded as modules). Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> --- lib/kunit/string-stream.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)