Kernel Testing with KUnit: Bridging the Gap
Yuma Theatre | Fri 14 Jan 4:20 p.m.–4:50 p.m.
Presented by
-
David Gow
https://davidgow.net/
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.
David Gow
https://davidgow.net/
Abstract
Testing the Linux Kernel has never been more important, and there are a number of tools within the kernel to help, each with their own use-cases and quirks.
Join us as we look at when to use the KUnit kernel unit-testing framework and when to use other tools like kselftest, and what the differences between these frameworks are.
We'll also cover efforts to standardise test result formatting between different kernel frameworks, specifically the different versions of the TAP and KTAP standards. These allow (or will allow) tooling between them to be shared.
Finally, we'll look at how to use KUnit to test more complicated or hardware-specific kernel code, focusing on new functionality such as QEMU support in kunit_tool and SKIP test support, as well as how to write fake structures and devices.
Testing the Linux Kernel has never been more important, and there are a number of tools within the kernel to help, each with their own use-cases and quirks. Join us as we look at when to use the KUnit kernel unit-testing framework and when to use other tools like kselftest, and what the differences between these frameworks are. We'll also cover efforts to standardise test result formatting between different kernel frameworks, specifically the different versions of the TAP and KTAP standards. These allow (or will allow) tooling between them to be shared. Finally, we'll look at how to use KUnit to test more complicated or hardware-specific kernel code, focusing on new functionality such as QEMU support in kunit_tool and SKIP test support, as well as how to write fake structures and devices.