Overview
Explore the past, present, and future of KUnit, an in-kernel unit testing framework for Linux, in this 45-minute conference talk from linux.conf.au 2021. Gain a basic understanding of KUnit's role in the Linux testing ecosystem and learn how to run and write basic unit tests. Discover the framework's evolution since its merger into Linux 5.5, including improved support for different architectures and environments, enhanced documentation, and standardized test naming conventions. Examine current KUnit tests and delve into future developments, such as mocking features for hardware driver testing, improved integration with other testing systems, and new capabilities like skippable tests. Learn about strategies for simplifying testing, integrating KUnit into kernel development, and ways to contribute to its advancement.
Syllabus
Intro
What is KUnit?
How are tests structured?
Example: list_test
Example: suites
Running tests (with kunit_tool)
Results (TAP format)
Results (kunit_tool)
Other neat tricks
Module Support
Named resources
Improved TAP output / executor
KASAN integration
Parameterised Testing
Continuous Integration
Tooling updates
New tests
Mocking and Hardware Testing
Skippable test support
Bugfixes and tooling improvements
Taught by
linux.conf.au