KUnit Testing Insufficiencies
summary
Argues that KUnit lacks scalability and mocking: KUnit embeds tests in the kernel, so tests require full kernel builds and boots, forcing multiple kernel binaries once test counts grow into the thousands and hurting fidelity; demo shows a tiny isolated test still takes about 143 seconds to run. Claims mocking currently needs source patches or config ifdefs—mocking requires kernel patches—and code‑coverage instrumentation reduces available kernel space. Prototypes using CMK compile code out‑of‑tree and run in user space with automatic dependency mocking, cutting runtime at the cost of harder initial setup.
AI-written summary · about
chapters (9)
- 0:00Introduction to KUnit issues
- 2:14KUnit testing limitations
- 4:48Demo of tightly coupled test
- 9:22Building kernel tests at scale
- 10:45Execution and system state challenges
- 13:55Problems without solutions
- 16:00Kernel testing vs tool limitations
- 20:12Alternative testing framework demo
- 23:43Real-world testing trade-offs
related talks
30mKernel Testing with KUnit: Bridging the Gap
44mKUnit - Unit Testing for the Linux Kernel
28mTesting Drivers with KUnit (Does hardware have to be hard?)
45mKUnit: Past, Present, and Future
45m"KUnit: Past, Present, and Future"
01h 01mAdvanced Unit Testing in C & C++
18mKUnit: Function Redirection and More
28mKVM-unit-tests: When "KVM" Doesn't Mean KVM
