| # 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](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 |
| ``` |