commit | 82a75278c4c6a73b72deb7b7bab438e368b39d6f | [log] [tgz] |
---|---|---|
author | Daniel Latypov <dlatypov@google.com> | Mon Dec 13 14:10:58 2021 -0800 |
committer | Daniel Latypov <dlatypov@google.com> | Mon Dec 13 14:30:05 2021 -0800 |
tree | db6e630c0693ac05394c05d67d9cfec6e6674f28 | |
parent | 650bb37f4d85f6b7b75b02ad3d9137187ba4a25b [diff] |
get_metrics.sh: use git-grep to cut runtime by >70% This script currently spends ~16s computing the all_tests variable. The bulk of this comes from the `grep -r` command to list all #include's of <kunit/test.h>. Using git-grep is ~always going to be faster than a `grep -r` which has to consult the filesystem to find all the files. Before: `time` output: real 0m30.015s user 0m26.132s sys 0m4.297s After first git-grep conversion: real 0m15.371s user 0m14.138s sys 0m3.077s After second (test_case_num) real 0m8.826s user 0m9.238s sys 0m1.800s Change-Id: If0ee078415179463f34024e45d4290d9f2304dae Signed-off-by: Daniel Latypov <dlatypov@google.com>
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.
https://kunit.googlesource.com
Documentation can be built by running:
make html
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:
./deploy.sh
You can copy the files over without committing and pushing the files with:
./deploy.sh --no-commit