Re: [PATCH] Documentation: kunit: drop obsolete note about uml_abort for coverage
From: David Gow
Date: Fri Jun 25 2021 - 00:19:36 EST
On Thu, Jun 24, 2021 at 4:17 AM Daniel Latypov <dlatypov@xxxxxxxxxx> wrote:
> Commit b6d5799b0b58 ("kunit: Add 'kunit_shutdown' option") changes KUnit
> to call kernel_halt() by default when done testing.
> This fixes the issue with not having .gcda files due to not calling
> atexit() handlers, and therefore we can stop recommending people
> manually tweak UML code.
> The need to use older versions of GCC (<=6) remains however, due to
> linktime issues, same as before. Note: There also might still be issues
> with .gcda files as well in newer versions.
> Signed-off-by: Daniel Latypov <dlatypov@xxxxxxxxxx>
This looks good to me, thanks! Now if only we could fix the issues
with newer gcc versions...
Reviewed-by: David Gow <davidgow@xxxxxxxxxx>
> Documentation/dev-tools/kunit/running_tips.rst | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
> diff --git a/Documentation/dev-tools/kunit/running_tips.rst b/Documentation/dev-tools/kunit/running_tips.rst
> index 7d99386cf94a..d1626d548fa5 100644
> --- a/Documentation/dev-tools/kunit/running_tips.rst
> +++ b/Documentation/dev-tools/kunit/running_tips.rst
> @@ -86,19 +86,7 @@ Generating code coverage reports under UML
> .. note::
> TODO(brendanhiggins@xxxxxxxxxx): There are various issues with UML and
> versions of gcc 7 and up. You're likely to run into missing ``.gcda``
> - files or compile errors. We know one `faulty GCC commit
> - <https://github.com/gcc-mirror/gcc/commit/8c9434c2f9358b8b8bad2c1990edf10a21645f9d>`_
> - but not how we'd go about getting this fixed. The compile errors still
> - need some investigation.
> -.. note::
> - TODO(brendanhiggins@xxxxxxxxxx): for recent versions of Linux
> - (5.10-5.12, maybe earlier), there's a bug with gcov counters not being
> - flushed in UML. This translates to very low (<1%) reported coverage. This is
> - related to the above issue and can be worked around by replacing the
> - one call to ``uml_abort()`` (it's in ``os_dump_core()``) with a plain
> - ``exit()``.
> + files or compile errors.
> This is different from the "normal" way of getting coverage information that is
> documented in Documentation/dev-tools/gcov.rst.
> base-commit: 87c9c16317882dd6dbbc07e349bc3223e14f3244