Add a "Usage" section to the KUnit webpage.

This basically updates what's there to talk about experimental versions
rather than stable versions, moves most of the discussion of the
different versions to a "Getting KUnit" page, and adds an FAQ.

It also adds to the index page a very basic "how to run tests" bit, an
anaemic "Writing tests" section which tries to link to the Getting
Started page from the upstream kernel, and a "Submitting tests upstream"
section which covers the current state of the upstreaming process and
how that (in theory) works.

Change-Id: I83e3db99e407c77a7b67546e40b67d237bcc4388
Signed-off-by: David Gow <>
4 files changed
tree: dd1576e794ede0085c25993f3f53e4f265151f8e
  1. .gitignore
  4. Makefile
  7. development/
  8. index.rst
  9. statics/
  10. third_party/
  11. usage/

KUnit Documentation

KUnit is a lightweight unit testing and mocking framework for the Linux kernel. These tests are able to be run locally on a developer’s workstation without a VM or special hardware.

KUnit is heavily inspired by JUnit, Python’s unittest.mock, and Googletest/Googlemock for C++. KUnit defines a way to mock out C style classes and functions and create expectations on methods called within the code under test.

This is a repository to host the source for the KUnit documentation.

NOTE: There is an important distinction between KUnit‘s documentation source and it’s documentation site. As a project meant primarily to serve the development of the Linux kernel, a significant portion of our code and documentation reside in the Linux kernel codebase. Consequently, the documentation that does not live in the Linux kernel follows many of the conventions of the Linux kernel. One of these conventions is that we use Sphinx for all of our documentation. Thus, because Sphinx requires documentation to be compiled from its source files, we must have a repository for all the Sphinx source files and a separate repository for all of the generated output files to actually host the site. This is the repository for the source.

Where is the code?

How to build documentation

Documentation can be built by running:

make html

How to update the documentation

Our documentation is hosted at The documentation may be updated by building the documentation as described above, and then:

git clone
cd kunit-docs/
git ls-files -z | xargs -0 rm -f
cp -r ../kunit-website/_build/html/. ./
git add -A
git commit
git push -u origin