Hi Linus, Please pull the following Kselftest update for Linux 5.4-rc1. This Kselftest update for Linux 5.4-rc1 consists of several fixes to existing tests and adds KUnit, a lightweight unit testing and mocking framework for the Linux kernel from Brendan Higgins. KUnit is not an end-to-end testing framework. It is currently supported on UML and sub-systems can write unit tests and run them in UML env. KUnit documentation is included in this update. In the future KUnit will be linked to Kselftest framework to provide a way to trigger KUnit tests from user-space. diff is attached. Please note that there is conflict between tools/testing/selftests/tpm2/Makefile between commit: 3fb2179b0f3553a ("selftests/tpm2: Add the missing TEST_FILES assignment") from the tpmdd tree and commit: d04e26067d13f01 ("selftests: tpm2: install python files") Please take the fix from kselftest tree which is the correct version for this change. d04e26067d13f01 ("selftests: tpm2: install python files") Please let me know if you have any questions and/or concerns. thanks, -- Shuah ---------------------------------------------------------------- The following changes since commit d1abaeb3be7b5fa6d7a1fbbd2e14e3310005c4c1: Linux 5.3-rc5 (2019-08-18 14:31:08 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest tags/linux-kselftest-5.4-rc1 for you to fetch changes up to ce54eab71e210f36eebe291e632ed85913c5617e: kunit: fix failure to build without printk (2019-09-06 09:56:08 -0600) ---------------------------------------------------------------- linux-kselftest-5.4-rc1 This Kselftest update for Linux 5.4-rc1 consists of several fixes to existing tests and adds KUnit, a lightweight unit testing and mocking framework for the Linux kernel from Brendan Higgins. KUnit is not an end-to-end testing framework. It is currently supported on UML and sub-systems can write unit tests and run them in UML env. KUnit documentation is included in this update. In the future KUnit will be linked to Kselftest framework to provide a way to trigger KUnit tests from user-space. ---------------------------------------------------------------- Anders Roxell (2): selftests: livepatch: add missing fragments to config selftests: tpm2: install python files Avinash Kondareddy (1): kunit: test: add tests for KUnit managed resources Brendan Higgins (16): kunit: test: add KUnit test runner core kunit: test: add test resource management API kunit: test: add string_stream a std::stream like string builder kunit: test: add assertion printing library kunit: test: add the concept of expectations kbuild: enable building KUnit kunit: test: add initial tests objtool: add kunit_try_catch_throw to the noreturn list kunit: test: add support for test abort kunit: test: add tests for kunit test abort kunit: test: add the concept of assertions kunit: defconfig: add defconfigs for building KUnit tests Documentation: kunit: add documentation for KUnit MAINTAINERS: add entry for KUnit the unit testing framework MAINTAINERS: add proc sysctl KUnit test to PROC SYSCTL section kunit: fix failure to build without printk Felix Guo (1): kunit: tool: add Python wrappers for running KUnit tests George G. Davis (2): selftests: watchdog: Add optional file argument selftests: watchdog: cleanup whitespace in usage options Ilya Leoshkevich (1): selftests: use "$(MAKE)" instead of "make" Iurii Zaikin (1): kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec() Masanari Iida (1): selftest/ftrace: Fix typo in trigger-snapshot.tc Tycho Andersen (1): selftests/seccomp: fix build on older kernels Documentation/dev-tools/index.rst | 1 + Documentation/dev-tools/kunit/api/index.rst | 16 + Documentation/dev-tools/kunit/api/test.rst | 11 + Documentation/dev-tools/kunit/faq.rst | 62 + Documentation/dev-tools/kunit/index.rst | 79 ++ Documentation/dev-tools/kunit/start.rst | 180 +++ Documentation/dev-tools/kunit/usage.rst | 576 ++++++++ Kconfig | 2 + MAINTAINERS | 13 + Makefile | 2 + arch/um/configs/kunit_defconfig | 3 + include/kunit/assert.h | 356 +++++ include/kunit/string-stream.h | 51 + include/kunit/test.h | 1490 ++++++++++++++++++++ include/kunit/try-catch.h | 75 + kernel/Makefile | 2 + kernel/sysctl-test.c | 392 +++++ kunit/Kconfig | 38 + kunit/Makefile | 9 + kunit/assert.c | 141 ++ kunit/example-test.c | 88 ++ kunit/string-stream-test.c | 52 + kunit/string-stream.c | 217 +++ kunit/test-test.c | 331 +++++ kunit/test.c | 478 +++++++ kunit/try-catch.c | 118 ++ lib/Kconfig.debug | 11 + tools/objtool/check.c | 1 + tools/testing/kunit/.gitignore | 3 + tools/testing/kunit/configs/all_tests.config | 3 + tools/testing/kunit/kunit.py | 136 ++ tools/testing/kunit/kunit_config.py | 66 + tools/testing/kunit/kunit_kernel.py | 149 ++ tools/testing/kunit/kunit_parser.py | 310 ++++ tools/testing/kunit/kunit_tool_test.py | 206 +++ .../test_data/test_is_test_passed-all_passed.log | 32 + .../kunit/test_data/test_is_test_passed-crash.log | 69 + .../test_data/test_is_test_passed-failure.log | 36 + .../test_data/test_is_test_passed-no_tests_run.log | 75 + .../test_data/test_output_isolated_correctly.log | 106 ++ .../kunit/test_data/test_read_from_file.kconfig | 17 + tools/testing/selftests/Makefile | 22 +- .../ftrace/test.d/trigger/trigger-snapshot.tc | 2 +- tools/testing/selftests/livepatch/config | 2 + tools/testing/selftests/seccomp/seccomp_bpf.c | 5 + tools/testing/selftests/tpm2/Makefile | 1 + tools/testing/selftests/watchdog/watchdog-test.c | 41 +- 47 files changed, 6051 insertions(+), 25 deletions(-) create mode 100644 Documentation/dev-tools/kunit/api/index.rst create mode 100644 Documentation/dev-tools/kunit/api/test.rst create mode 100644 Documentation/dev-tools/kunit/faq.rst create mode 100644 Documentation/dev-tools/kunit/index.rst create mode 100644 Documentation/dev-tools/kunit/start.rst create mode 100644 Documentation/dev-tools/kunit/usage.rst create mode 100644 arch/um/configs/kunit_defconfig create mode 100644 include/kunit/assert.h create mode 100644 include/kunit/string-stream.h create mode 100644 include/kunit/test.h create mode 100644 include/kunit/try-catch.h create mode 100644 kernel/sysctl-test.c create mode 100644 kunit/Kconfig create mode 100644 kunit/Makefile create mode 100644 kunit/assert.c create mode 100644 kunit/example-test.c create mode 100644 kunit/string-stream-test.c create mode 100644 kunit/string-stream.c create mode 100644 kunit/test-test.c create mode 100644 kunit/test.c create mode 100644 kunit/try-catch.c create mode 100644 tools/testing/kunit/.gitignore create mode 100644 tools/testing/kunit/configs/all_tests.config create mode 100755 tools/testing/kunit/kunit.py create mode 100644 tools/testing/kunit/kunit_config.py create mode 100644 tools/testing/kunit/kunit_kernel.py create mode 100644 tools/testing/kunit/kunit_parser.py create mode 100755 tools/testing/kunit/kunit_tool_test.py create mode 100644 tools/testing/kunit/test_data/test_is_test_passed-all_passed.log create mode 100644 tools/testing/kunit/test_data/test_is_test_passed-crash.log create mode 100644 tools/testing/kunit/test_data/test_is_test_passed-failure.log create mode 100644 tools/testing/kunit/test_data/test_is_test_passed-no_tests_run.log create mode 100644 tools/testing/kunit/test_data/test_output_isolated_correctly.log create mode 100644 tools/testing/kunit/test_data/test_read_from_file.kconfig ----------------------------------------------------------------