"KUnit: Past, Present, and Future"
summary
KUnit is an in-kernel C unit test framework merged in Linux 5.5 that builds into kernels or as modules and runs extremely fast under UML via KUnit.py. It adds module support, an executor that counts and sequences suites, parameterized tests for table-driven inputs, named resources, KASAN integration so memory errors mark tests failed, KTAP/JSON output and CI hooks. Example: a linked-list suite reports 36 cases in one run; tooling parses, colorizes and summarizes pass/fail/crash counts.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:48What is KUnit?
- 6:51How are tests structured?
- 8:11Example: list_test
- 9:36Example: suites
- 10:25Running tests (with kunit_tool)
- 12:29Results (TAP format)
- 13:54Results (kunit_tool)
- 15:02Other neat tricks
- 18:59Module Support
- 21:10Named resources
- 22:31Improved TAP output / executor
- 23:30KASAN integration
- 26:17Parameterised Testing
- 29:28Continuous Integration
- 33:55Tooling updates
- 37:03New tests
- 38:16Mocking and Hardware Testing
- 41:05Skippable test support
- 41:43Bugfixes and tooling improvements
related talks
45mKUnit: Past, Present, and Future
44mKUnit - Unit Testing for the Linux Kernel
30mKernel Testing with KUnit: Bridging the Gap
16mHow do we make KUnit work for us?
28mTesting Drivers with KUnit (Does hardware have to be hard?)
24mKUnit Testing Insufficiencies
18mKUnit: Function Redirection and More
19mHow to introduce KUnit to physical...
