linux-stable/Documentation/dev-tools/kunit
Daniel Latypov 11dbc62a73 Documentation: kunit: add tips for running KUnit
This is long overdue.

There are several things that aren't nailed down (in-tree
.kunitconfig's), or partially broken (GCOV on UML), but having them
documented, warts and all, is better than having nothing.

This covers a bunch of the more recent features
* kunit_filter_glob
* kunit.py run --kunitconfig
* slightly more detail on building tests as modules
* CONFIG_KUNIT_DEBUGFS

By my count, the only headline features now not mentioned are the KASAN
integration and KernelCI json output support (kunit.py run --json).

And then it also discusses how to get code coverage reports under UML
and non-UML since this is a question people have repeatedly asked.

Non-UML coverage collection is no different from normal, but we should
probably explicitly call this out.

As for UML, I was able to get it working again with two small hacks.*
E.g. with CONFIG_KUNIT=y && CONFIG_KUNIT_ALL_TESTS=y
  Overall coverage rate:
    lines......: 15.1% (18294 of 120776 lines)
    functions..: 16.8% (1860 of 11050 functions)

Note: this doesn't document --alltests since this is not stable yet.
Hopefully being run more frequently as part of KernelCI will help...

*Using gcc/gcov-6 and not using uml_abort() in os_dump_core().
I've documented these hacks in "Notes" but left TODOs for
brendanhiggins@google.com who tracked down the runtime issue in GCC.
To be clear: these are not issues specific to KUnit, but rather to UML.

Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
2021-05-21 13:25:45 -06:00
..
api
faq.rst KUnit: Docs: fix a wording typo 2020-11-10 13:36:36 -07:00
index.rst Documentation: kunit: add tips for running KUnit 2021-05-21 13:25:45 -06:00
kunit-tool.rst Documentation: kunit: Remove references to --defconfig 2020-07-17 14:08:43 -06:00
running_tips.rst Documentation: kunit: add tips for running KUnit 2021-05-21 13:25:45 -06:00
start.rst Documentation: kunit: add tips for running KUnit 2021-05-21 13:25:45 -06:00
style.rst KUnit: Docs: style: fix some Kconfig example issues 2020-11-10 13:39:26 -07:00
tips.rst Documentation: kunit: add tips for using current->kunit_test 2021-04-07 16:40:37 -06:00
usage.rst Documentation: kunit: include example of a parameterized test 2021-01-15 17:47:39 -07:00