Hi Linus, Please pull the following KUnit next update for Linux 6.6-rc1. This kunit update for Linux 6.6.rc1 consists of: -- Adds support for running Rust documentation tests as KUnit tests -- Makes init, str, sync, types doctests compilable/testable -- Adds support for attributes API which include speed, modules attributes, ability to filter and report attributes. -- Adds support for marking tests slow using attributes API. -- Adds attributes API documentation -- Fixes to wild-memory-access bug in kunit_filter_suites() and a possible memory leak in kunit_filter_suites() -- Adds support for counting number of test suites in a module, list action to kunit test modules, and test filtering on module tests. Please note that there is a conflict between rust and kunit trees. I ran build and kunit tests on linux-next with the combined set of patches from both trees. rust/kernel/init.rs between commit: a30e94c29673 ("rust: init: make doctests compilable/testable") from the kunit-next tree and commit: 35e7fca2ff59 ("rust: init: add `..Zeroable::zeroed()` syntax for zeroing all missing fields") diff is attached. This conflict is also mentioned in the rust PR below: https://lore.kernel.org/rust-for-linux/20230824214024.608618-1-ojeda@kernel.org/ thanks, -- Shuah ---------------------------------------------------------------- The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5: Linux 6.5-rc1 (2023-07-09 13:53:13 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest tags/linux-kselftest-kunit-6.6-rc1 for you to fetch changes up to 25e324bc9cf2ee956eec1db384c39c1a17b7c44a: kunit: fix struct kunit_attr header (2023-08-21 08:07:56 -0600) ---------------------------------------------------------------- linux-kselftest-kunit-6.6-rc1 This kunit update for Linux 6.6.rc1 consists of: -- Adds support for running Rust documentation tests as KUnit tests -- Makes init, str, sync, types doctests compilable/testable -- Adds support for attributes API which include speed, modules attributes, ability to filter and report attributes. -- Adds support for marking tests slow using attributes API. -- Adds attributes API documentation -- Fixes to wild-memory-access bug in kunit_filter_suites() and a possible memory leak in kunit_filter_suites() -- Adds support for counting number of test suites in a module, list action to kunit test modules, and test filtering on module tests. ---------------------------------------------------------------- Janusz Krzysztofik (3): kunit: Report the count of test suites in a module kunit: Make 'list' action available to kunit test modules kunit: Allow kunit test modules to use test filtering Kemeng Shi (1): kunit: replace KUNIT_TRIGGER_STATIC_STUB maro with KUNIT_STATIC_STUB_REDIRECT Mark Brown (1): kunit: qemu_configs: Enable all architectural features for arm64 Miguel Ojeda (7): kunit: test-bug.h: include `stddef.h` for `NULL` rust: init: make doctests compilable/testable rust: str: make doctests compilable/testable rust: sync: make doctests compilable/testable rust: types: make doctests compilable/testable rust: support running Rust documentation tests as KUnit ones MAINTAINERS: add Rust KUnit files to the KUnit entry Rae Moar (11): kunit: Add test attributes API structure kunit: Add speed attribute kunit: Add module attribute kunit: Add ability to filter attributes kunit: tool: Add command line interface to filter and report attributes kunit: memcpy: Mark tests as slow using test attributes kunit: time: Mark test as slow using test attributes kunit: add tests for filtering attributes kunit: Add documentation of KUnit test attributes kunit: fix uninitialized variables bug in attributes filtering kunit: fix struct kunit_attr header Ruan Jinjie (2): kunit: fix wild-memory-access bug in kunit_filter_suites() kunit: fix possible memory leak in kunit_filter_suites() Documentation/dev-tools/kunit/run_wrapper.rst | 12 + Documentation/dev-tools/kunit/running_tips.rst | 166 ++++++++++ MAINTAINERS | 2 + include/kunit/attributes.h | 50 +++ include/kunit/static_stub.h | 6 +- include/kunit/test-bug.h | 2 + include/kunit/test.h | 91 +++++- kernel/time/time_test.c | 2 +- lib/Kconfig.debug | 16 + lib/kunit/Kconfig | 2 +- lib/kunit/Makefile | 3 +- lib/kunit/attributes.c | 414 +++++++++++++++++++++++++ lib/kunit/executor.c | 227 ++++++++++---- lib/kunit/executor_test.c | 152 ++++++++- lib/kunit/kunit-example-test.c | 9 + lib/kunit/test.c | 64 +++- lib/memcpy_kunit.c | 8 +- rust/.gitignore | 2 + rust/Makefile | 29 ++ rust/bindings/bindings_helper.h | 1 + rust/helpers.c | 7 + rust/kernel/init.rs | 26 +- rust/kernel/kunit.rs | 163 ++++++++++ rust/kernel/lib.rs | 2 + rust/kernel/str.rs | 4 +- rust/kernel/sync/arc.rs | 9 +- rust/kernel/sync/lock/mutex.rs | 1 + rust/kernel/sync/lock/spinlock.rs | 1 + rust/kernel/types.rs | 6 +- scripts/.gitignore | 2 + scripts/Makefile | 4 + scripts/rustdoc_test_builder.rs | 72 +++++ scripts/rustdoc_test_gen.rs | 260 ++++++++++++++++ tools/testing/kunit/kunit.py | 70 ++++- tools/testing/kunit/kunit_kernel.py | 8 +- tools/testing/kunit/kunit_parser.py | 11 +- tools/testing/kunit/kunit_tool_test.py | 39 ++- tools/testing/kunit/qemu_configs/arm64.py | 2 +- 38 files changed, 1801 insertions(+), 144 deletions(-) create mode 100644 include/kunit/attributes.h create mode 100644 lib/kunit/attributes.c create mode 100644 rust/kernel/kunit.rs create mode 100644 scripts/rustdoc_test_builder.rs create mode 100644 scripts/rustdoc_test_gen.rs ----------------------------------------------------------------