blob: ca13144920716fa14aad307e7faf655d48bf4aa0 [file] [log] [blame] [view]
# 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 developers workstation without a VM
or special hardware.
KUnit is heavily inspired by JUnit, Pythons 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](http://www.sphinx-doc.org) 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?
<https://kunit.googlesource.com>
## How to build documentation
Documentation can be built by running:
```bash
make html
```
## How to update the documentation
Our documentation is hosted at <https://github.com/google/kunit-docs>. The
documentation may be updated by building the documentation as described above,
and then:
```bash
./deploy.sh
```
You can copy the files over without committing and pushing the files with:
```bash
./deploy.sh --no-commit
```