mbox series

[v6,00/10] kunit: Add dynamically-extending log

Message ID 20230828104111.2394344-1-rf@opensource.cirrus.com (mailing list archive)
Headers show
Series kunit: Add dynamically-extending log | expand

Message

Richard Fitzgerald Aug. 28, 2023, 10:41 a.m. UTC
This patch chain changes the logging implementation to use string_stream
so that the log will grow dynamically.

The first 8 patches add test code for string_stream, and make some
changes to string_stream needed to be able to use it for the log.

The final patch adds a performance report of string_stream.

CHANGES SINCE V5:
Patch 2:
- Avoid cast warning when using KUNIT_EXPECT_EQ() on a gfp_t. Instead pass
  the result of the comparison to KUNIT_EXPECT_TRUE(). While it would be
  nice to use KUNIT_EXPECT_EQ(), it's probably better to avoid introducing
  build or sparse warnings.

- In string_stream_append_test() rename original_content to
  stream1_content_before_append.

Patch 7:
- Make string_stream_clear() public (in v5 this was done in patch #8).
- In string-stream-test.c add a wrapper for kfree() to prevent a cast
  warning when calling kunit_add_action().

Patch 8:
- Fix memory leak when calling the redirected string_stream_destroy_stub().

Patch 9:
- In kunit-test.c: add wrapper function around kfree() to prevent cast
  warning when calling kunit_add_action().
- Fix unused variable warning in kunit_log_test() when built as a module.

Richard Fitzgerald (10):
  kunit: string-stream: Don't create a fragment for empty strings
  kunit: string-stream: Improve testing of string_stream
  kunit: string-stream: Add option to make all lines end with newline
  kunit: string-stream-test: Add cases for string_stream newline
    appending
  kunit: Don't use a managed alloc in is_literal()
  kunit: string-stream: Add kunit_alloc_string_stream()
  kunit: string-stream: Decouple string_stream from kunit
  kunit: string-stream: Add tests for freeing resource-managed
    string_stream
  kunit: Use string_stream for test log
  kunit: string-stream: Test performance of string_stream

 include/kunit/test.h           |  14 +-
 lib/kunit/assert.c             |  14 +-
 lib/kunit/debugfs.c            |  36 ++-
 lib/kunit/kunit-test.c         |  56 +++-
 lib/kunit/string-stream-test.c | 525 +++++++++++++++++++++++++++++++--
 lib/kunit/string-stream.c      | 100 +++++--
 lib/kunit/string-stream.h      |  16 +-
 lib/kunit/test.c               |  50 +---
 8 files changed, 688 insertions(+), 123 deletions(-)