On Sun, Sep 15, 2019 at 7:39 PM Gabriel Caruso <carusogabrie...@gmail.com>
wrote:

> Hello Nikita,
>
> Em dom, 15 de set de 2019 às 19:29, Nikita Popov <nikita....@gmail.com>
> escreveu:
>
>> Hi,
>>
>> gcov.php.net used to provide valgrind reports and code coverage for
>> php-src. It no longer works with 7.4/8.0, because the OS is very old, and
>> building new versions of PHP there gets very hard. The valgrind reports
>> have essentially been subsumed by asan/ubsan on Azure Pipelines, but we're
>> still missing a replacement for code coverage.
>>
>> I think it should be possible to set up an Azure Pipelines job that runs
>> tests with coverage and publishes it, preferably on Azure Pipelines
>> itself,
>> or if that doesn't work something like codecov.io.
>>
>> Maybe someone is interested in giving this a try?
>>
>> Regards,
>> Nikita
>>
>
> I'm, as I've also reported this a while ago:
> https://bugs.php.net/bug.php?id=78288.
>
> Do you have something in mind how/what to set up?
>

The first step is probably to get code coverage working locally. We have a
./configure --enable-gcov option and there's some extra make targets in
build/Makefile.gcov. Maybe taking a look at what
https://github.com/php/web-gcov/blob/master/cron/cron.sh does would help.

Second step is to add a new job in azure by copying
https://github.com/php/php-src/blob/master/azure/job.yml and adding the
necessary gcov/lcov magic there.

The hard part if how to get those results published on Azure under the
"Code coverage" tab. There is a PublishCodeCoverageResults task for this
purpose, but I don't know how one would use that with lcov in particular.
It seems to me that part of it requires a coverage overview in a specific
format and part is just a directory with HTML, so maybe the result from ltp
genhtml can just be used there? Figuring out how to make this work is
likely going to be "fun" ;)

Nikita

>

Reply via email to