A unit test framework for the Linux kernel

This proposal has been rejected.


One Line Summary

This talk will present and demonstrate a simple and nonintrusive framework
for writing and selectively running unit tests on external and internal
kernel APIs.


Since I was introduced to test driven development and unit testing almost 20
years ago, I have found that I myself and the teams I participate in can
maintain a higher development rate with less frustrating late debugging
scenarios and fewer embarrassments by using a pragmatic
approach to test driven development.

When I went back to kernel development to start working on a complex RDMA
driver in 2009, I saw a highly risky project with lots of unknowns and very
limited programming resources, and felt I could not find good enough tools to
accomplish that same work flow as I had been used to in my years doing
mostly C++ projects in user land. This talk will present the 3rd iteration
of a tool I came up with to fill that gap.

In addition to describing the tool itself and some design choices,
I will try to illustrate with some good motivating, simple examples as
to how we both as individuals and teams can
make our lives easier and more fun in the world of evolving kernels and
implementations and backporting by using this tool and gradually move
towards a more test driven approach.


tools, kernel testing, workflow


  • Biography

    Knut Omang has had a relationship with Unix and Linux since the mid-eighties. He wrote a Ph.D and collaborated on a driver for SCI (Scalable Coherent Interface) based I/O adapters, an early predecessor of today’s RDMA devices. For the last years he was the lead developer for the driver for an Infiniband HCA developed by Oracle.
    He currently works for the Oracle Linux Kernel networking group.