Presented by

  • David Gow

    David Gow

    When David first played with Slackware Linux 7 on an old 486, he had no idea he’d still be playing with it decades later. He’s now a software engineer at Google, working on KUnit: a unit testing framework for the Linux Kernel. In between, he’s worked on the MySQL server, and ported computer games to Linux.


KUnit[1,2] is an in-kernel unit testing framework merged into Linux 5.5. This talk will provide a basic overview of what KUnit is and where it fits into the Linux testing ecosystem, as well as how to run and write basic unit tests. We’ll take a look at what’s changed in the last year, since KUnit was merged, and what challenges have been overcome. We’ll touch on how KUnit better supports testing under different architectures and environments, has improved documentation and is standardising test names, hierarchies and output formats. We'll also look at some of the tests being written with KUnit today. Finally, we’ll look at where KUnit goes from here: including basic mocking features to make testing hardware drivers easier, better integration and compatibility with other testing systems, and new features like skippable tests. Lastly, we’ll look at the overall strategy for making testing easier, what we think is necessary to integrate KUnit into the kernel development process, and what you can do to help. [1]: [2]: