[CMake] CMake Coverage broken with Ninja

Haocheng Liu haocheng.liu at kitware.com
Fri Sep 1 08:49:54 EDT 2017


Hi Gerhard,

On Fri, Sep 1, 2017 at 7:26 AM, Gerhard Gappmeier <
gerhard.gappmeier at ascolab.com> wrote:

> hi all,
>
> just recently I discovered that our coverage builds on CDash don't work
> anymore.
> By analyzing the problem I found out that this is related to Ninja
> generator.
> I don't know when the problem was introduced but it still exists with
> CMake 3.9.1.
> (GCC and gcov are version 4.9.4, but this is not important)
>
> I attached a simple test program to reproduce the problem.
>
> $> tar xf demo.tar.gz
> $> cd demo
> $> mkdir bld
>
What if you call `chcp 65001` here before the CMake call? (Force using  UTF-8
console)

>
> $> cmake -GNinja ..
> $> ninja Nightly
> ...
> Configure project
>    Each . represents 1024 bytes of output
>     . Size of output: 0K
> Build project
>    Each symbol represents 1024 bytes of output.
>    '!' represents an error and '*' a warning.
>     . Size of output: 0K
>    0 Compiler errors
>    0 Compiler warnings
> Test project /home/gergap/tmp/cmaketest/bld
>     Start 1: mytest
> 1/1 Test #1: mytest ...........................   Passed    0.00 sec
>
> 100% tests passed, 0 tests failed out of 1
>
> Total Test time (real) =   0.00 sec
> Performing coverage
>    Processing coverage (each . represents one file):
>     .
>    Accumulating results (each . represents one file):
>     .Cannot find file: /home/gergap/tmp/cmaketest/bld/Testing/main.c
>
>         Covered LOC:         0
>         Not covered LOC:     0
>         Total LOC:           0
>         Percentage Coverage: 0.00%
> ...
>
> When using make instead everything works as expected.
> $> tar xf demo.tar.gz
> $> cd demo
> $> mkdir bld
> $> cmake ..
> $> make Nightly
> Configure project
>    Each . represents 1024 bytes of output
>     . Size of output: 0K
> Build project
>    Each symbol represents 1024 bytes of output.
>    '!' represents an error and '*' a warning.
>     . Size of output: 0K
>    0 Compiler errors
>    0 Compiler warnings
> Test project /home/gergap/tmp/cmaketest/bld
>     Start 1: mytest
> 1/1 Test #1: mytest ...........................   Passed    0.00 sec
>
> 100% tests passed, 0 tests failed out of 1
>
> Total Test time (real) =   0.00 sec
> Performing coverage
>    Processing coverage (each . represents one file):
>     .
>    Accumulating results (each . represents one file):
>     .
>         Covered LOC:         3
>         Not covered LOC:     0
>         Total LOC:           3
>         Percentage Coverage: 100.00%
>
> Is this problem known?
>
I believe it's related to CMake issue 17191
<https://gitlab.kitware.com/cmake/cmake/issues/17191> that CMake is not
properly converting the -showIncludes prefix (${displayedInSystemLanguage})
to its internal UTF-8 encoding.

> Are there any fixes/workaround available?
>
> Thanks to Brad it has been fixed in CMake MR 1179
<https://gitlab.kitware.com/cmake/cmake/merge_requests/1179>. If you do not
want to use CMake from source build then adding `chcp 6500`1 should do the
trick.

> --
> mit freundlichen Grüßen / best regards
>
> *Gerhard Gappmeier*
> ascolab GmbH - automation systems communication laboratory
> Tel.: +49 911 569846 203 <+49%20911%20569846203>
> Fax: +49 911 569846 400 <+49%20911%20569846400>
> Web: http://www.ascolab.com
> GPG-KeyId: 7A78B0A7
> GPG-Fingerprint: A964 56A2 32E9 A537 AB7E EBD6 8D09 0D72 7A78 B0A7
>
> --
> *ascolab GmbH*
> Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß
> Sitz der Gesellschaft: An der Kaufleite 34 • 90562 Kalchreuth • Germany
> Registernummer: HRB 9360
> Registergericht: Amtsgericht Fürth
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensou
> rce/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake
>



-- 
Best regards
Haocheng

Haocheng LIU
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4421 <(518)%20881-4421>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20170901/0837c8ee/attachment-0001.html>


More information about the CMake mailing list