kunit: add coverage_uml.config to enable GCOV on UML
Now that kunit.py's --kunitconfig is repeatable, let's create a file to hold the various options needed to enable coverage under UML. This can be used like so: $ ./tools/testing/kunit/kunit.py run \ --kunitconfig=tools/testing/kunit/configs/all_tests_uml.config \ --kunitconfig=tools/testing/kunit/configs/coverage_uml.config \ --make_options=CC=/usr/bin/gcc-6 which on my system is enough to get coverage working [1]. This is still a clunky command, but far better than before. [1] at the time of this commit, I get: Overall coverage rate: lines......: 11.6% (34112 of 295033 lines) functions..: 15.3% (3721 of 24368 functions) 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>
This commit is contained in:
parent
8a7c6f859a
commit
1d202d1496
|
@ -123,8 +123,7 @@ Putting it together into a copy-pastable sequence of commands:
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
# Append coverage options to the current config
|
# Append coverage options to the current config
|
||||||
$ echo -e "CONFIG_DEBUG_KERNEL=y\nCONFIG_DEBUG_INFO=y\nCONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y\nCONFIG_GCOV=y" >> .kunit/.kunitconfig
|
$ ./tools/testing/kunit/kunit.py run --kunitconfig=.kunit/ --kunitconfig=tools/testing/kunit/configs/coverage_uml.config
|
||||||
$ ./tools/testing/kunit/kunit.py run
|
|
||||||
# Extract the coverage information from the build dir (.kunit/)
|
# Extract the coverage information from the build dir (.kunit/)
|
||||||
$ lcov -t "my_kunit_tests" -o coverage.info -c -d .kunit/
|
$ lcov -t "my_kunit_tests" -o coverage.info -c -d .kunit/
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# This config fragment enables coverage on UML, which is different from the
|
||||||
|
# normal gcov used in other arches (no debugfs).
|
||||||
|
# Example usage:
|
||||||
|
# ./tools/testing/kunit/kunit.py run \
|
||||||
|
# --kunitconfig=tools/testing/kunit/configs/all_tests_uml.config \
|
||||||
|
# --kunitconfig=tools/testing/kunit/configs/coverage_uml.config
|
||||||
|
|
||||||
|
CONFIG_DEBUG_KERNEL=y
|
||||||
|
CONFIG_DEBUG_INFO=y
|
||||||
|
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
||||||
|
CONFIG_GCOV=y
|
Loading…
Reference in New Issue