Re: [GIT PULL] KUnit update for Linux 5.19-rc1
From: Shuah Khan
Date: Tue May 24 2022 - 11:17:03 EST
On 5/23/22 12:21 PM, Shuah Khan wrote:
Hi Linus,
Please pull the following KUnit update for Linux 5.19-rc1.
This KUnit update for Linux 5.19-rc1 consists of several fixes, cleanups,
and enhancements to tests and framework:
- introduces _NULL and _NOT_NULL macros to pointer error checks
- reworks kunit_resource allocation policy to fix memory leaks when
caller doesn't specify free() function to be used when allocating
memory using kunit_add_resource() and kunit_alloc_resource() funcs.
- adds ability to specify suite-level init and exit functions
diff is attached.
thanks,
-- Shuah
This bounced from linux-kselftest list as the diff exceeded the message
size. Sorry for the noise for others that are seeing this twice (minus
the diff).
FYI that the following KUnit pull request has been sent for Linux 5.19-rc1
thanks,
-- Shuah
----------------------------------------------------------------
The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest tags/linux-kselftest-kunit-5.19-rc1
for you to fetch changes up to e7eaffce47b7db72b077630dbe836f0c4132496d:
kunit: tool: Use qemu-system-i386 for i386 runs (2022-05-18 17:03:54 -0600)
----------------------------------------------------------------
linux-kselftest-kunit-5.19-rc1
This KUnit update for Linux 5.19-rc1 consists of several fixes, cleanups,
and enhancements to tests and framework:
- introduces _NULL and _NOT_NULL macros to pointer error checks
- reworks kunit_resource allocation policy to fix memory leaks when
caller doesn't specify free() function to be used when allocating
memory using kunit_add_resource() and kunit_alloc_resource() funcs.
- adds ability to specify suite-level init and exit functions
----------------------------------------------------------------
Brendan Higgins (2):
kunit: add support for kunit_suites that reference init code
kunit: tool: update riscv QEMU config with new serial dependency
Daniel Latypov (25):
kunit: tool: make --json handling a bit clearer
kunit: tool: drop unused KernelDirectoryPath var
kunit: tool: drop last uses of collections.namedtuple
kunit: tool: simplify code since build_dir can't be None
kunit: tool: readability tweaks in KernelCI json generation logic
kunit: tool: refactor how we plumb metadata into JSON
kunit: tool: properly report the used arch for --json, or '' if not known
kunit: tool: more descriptive metavars/--help output
kunit: split resource API from test.h into new resource.h
kunit: split resource API impl from test.c into new resource.c
Documentation: kunit: update kconfig options needed for UML coverage
kunit: rename print_subtest_{start,end} for clarity (s/subtest/suite)
kunit: add ability to specify suite-level init and exit functions
kfence: test: use new suite_{init/exit} support, add .kunitconfig
kunit: fix debugfs code to use enum kunit_status, not bool
lib/Kconfig.debug: change KUnit tests to default to KUNIT_ALL_TESTS
kunit: bail out of test filtering logic quicker if OOM
kunit: tool: update test counts summary line format
kunit: tool: stop using a shell to run kernel under QEMU
kunit: tool: print clearer error message when there's no TAP output
kunit: tool: remove dead parse_crash_in_log() logic
kunit: tool: make parser stop overwriting status of suites w/ no_tests
kunit: tool: minor cosmetic cleanups in kunit_parser.py
kunit: tool: misc cleanups
kunit: fix executor OOM error handling logic on non-UML
David Gow (5):
list: test: Test the hlist structure
kunit: Make kunit_remove_resource() idempotent
kunit: Rework kunit_resource allocation policy
kunit: tool: Add list of all valid test configs on UML
kunit: tool: Use qemu-system-i386 for i386 runs
Kees Cook (1):
kunit: tool: Do not colorize output when redirected
Marco Elver (1):
kcsan: test: use new suite_{init,exit} support
Miguel Ojeda (1):
kunit: take `kunit_assert` as `const`
Ricardo Ribalda (6):
kunit: Introduce _NULL and _NOT_NULL macros
kunit: use NULL macros
thunderbolt: test: use NULL macros
kasan: test: Use NULL macros
mctp: test: Use NULL macros
apparmor: test: Use NULL macros
Documentation/dev-tools/kunit/api/index.rst | 5 +
Documentation/dev-tools/kunit/api/resource.rst | 13 +
Documentation/dev-tools/kunit/running_tips.rst | 3 +-
Documentation/dev-tools/kunit/usage.rst | 19 +-
drivers/thunderbolt/test.c | 134 +++----
include/kunit/resource.h | 406 ++++++++++++++++++++
include/kunit/test.h | 418 ++++++---------------
kernel/kcsan/kcsan_test.c | 31 +-
lib/Kconfig.debug | 15 +-
lib/kunit/Makefile | 1 +
lib/kunit/debugfs.c | 2 +-
lib/kunit/executor.c | 32 +-
lib/kunit/executor_test.c | 4 +-
lib/kunit/kunit-example-test.c | 16 +
lib/kunit/kunit-test.c | 37 +-
lib/kunit/resource.c | 79 ++++
lib/kunit/test.c | 145 ++-----
lib/list-test.c | 397 ++++++++++++++++++-
lib/test_kasan.c | 2 +-
mm/kfence/.kunitconfig | 6 +
mm/kfence/kfence_test.c | 31 +-
net/mctp/test/route-test.c | 4 +-
security/apparmor/policy_unpack_test.c | 6 +-
tools/testing/kunit/configs/all_tests_uml.config | 37 ++
tools/testing/kunit/kunit.py | 63 ++--
tools/testing/kunit/kunit_config.py | 21 +-
tools/testing/kunit/kunit_json.py | 66 ++--
tools/testing/kunit/kunit_kernel.py | 81 ++--
tools/testing/kunit/kunit_parser.py | 154 +++-----
tools/testing/kunit/kunit_tool_test.py | 44 +--
tools/testing/kunit/qemu_config.py | 17 +-
tools/testing/kunit/qemu_configs/alpha.py | 2 +-
tools/testing/kunit/qemu_configs/arm.py | 2 +-
tools/testing/kunit/qemu_configs/arm64.py | 2 +-
tools/testing/kunit/qemu_configs/i386.py | 4 +-
tools/testing/kunit/qemu_configs/powerpc.py | 2 +-
tools/testing/kunit/qemu_configs/riscv.py | 7 +-
tools/testing/kunit/qemu_configs/s390.py | 4 +-
tools/testing/kunit/qemu_configs/sparc.py | 2 +-
tools/testing/kunit/qemu_configs/x86_64.py | 2 +-
tools/testing/kunit/run_checks.py | 2 +-
.../kunit/test_data/test_is_test_passed-crash.log | 70 ----
.../test_is_test_passed-no_tests_no_plan.log | 2 +-
43 files changed, 1499 insertions(+), 891 deletions(-)
create mode 100644 Documentation/dev-tools/kunit/api/resource.rst
create mode 100644 include/kunit/resource.h
create mode 100644 lib/kunit/resource.c
create mode 100644 mm/kfence/.kunitconfig
create mode 100644 tools/testing/kunit/configs/all_tests_uml.config
delete mode 100644 tools/testing/kunit/test_data/test_is_test_passed-crash.log
----------------------------------------------------------------