KUnit - Unit Testing for the Linux Kernel
Room 6 | Thu 16 Jan | 2:25 p.m.–3:10 p.m.
Presented by
-
Brendan is a software engineer at Google; he has previously worked on server and hardware bring up , and is currently working on KUnit as well as testing and software development practices for the Linux kernel.
Abstract
KUnit[1] is a new lightweight unit testing and mocking framework for the Linux kernel. Unlike Autotest and kselftest, KUnit is a true unit testing framework; it does not require installing the kernel on a test machine or in a VM (however, KUnit still allows you to run tests on test machines or in VMs if you want) and does not require tests to be written in userspace running on a host kernel. You can read more about KUnit in this LWN article[2].
In the first half of the talk we will provide background on what unit testing is, why we think it is important for the Linux kernel, how KUnit provides a viable unit testing library implementation, and offer a brief demonstration of how it might be used.
In the second half of the talk we will talk about the future. We will talk about KUnit's roadmap, the challenges that KUnit is facing, how to structure the Linux kernel testing paradigm, and how KUnit fits into it.
[1] https://google.github.io/kunit-docs/third_party/kernel/docs/
[2] https://lwn.net/Articles/780985/
Linux Australia: http://mirror.linux.org.au/pub/linux.conf.au/2020/room_6/Thursday/KUnit_Unit_Testing_for_the_Linux_Kernel.webm
YouTube: https://www.youtube.com/watch?v=78gioY7VYxc
KUnit[1] is a new lightweight unit testing and mocking framework for the Linux kernel. Unlike Autotest and kselftest, KUnit is a true unit testing framework; it does not require installing the kernel on a test machine or in a VM (however, KUnit still allows you to run tests on test machines or in VMs if you want) and does not require tests to be written in userspace running on a host kernel. You can read more about KUnit in this LWN article[2]. In the first half of the talk we will provide background on what unit testing is, why we think it is important for the Linux kernel, how KUnit provides a viable unit testing library implementation, and offer a brief demonstration of how it might be used. In the second half of the talk we will talk about the future. We will talk about KUnit's roadmap, the challenges that KUnit is facing, how to structure the Linux kernel testing paradigm, and how KUnit fits into it. [1] https://google.github.io/kunit-docs/third_party/kernel/docs/ [2] https://lwn.net/Articles/780985/ Linux Australia: http://mirror.linux.org.au/pub/linux.conf.au/2020/room_6/Thursday/KUnit_Unit_Testing_for_the_Linux_Kernel.webm YouTube: https://www.youtube.com/watch?v=78gioY7VYxc