On 11/23/25 12:40, Trek95 Trek95 wrote:
Hi,

I'm a new joiner, and I want to do my best to bring my modest contribution to LibreOffice.

Thanks to the very good explainations provided in the wiki for developers, I was easily able to buid LibreOffice on my Ubuntu 25.10, and to launch the unit tests. But I'm now struggling to get the code coverage of unit tests. I followed the instructions in the wiki page below: https://wiki.documentfoundation.org/Development/Lcov <https:// wiki.documentfoundation.org/Development/Lcov>

At the begining, lcov was failing because no ".gcno" and no ".gcda" file was generared during the build and the execution of unit tests. So I checked the help of the autogen script (at the root of the source codes), and I discovered a flag "—enable-gcov". So I rebuilt the code with this flag, and the ".gcno" and the ".gcda" files were then generated.

But when I now launch lcov, I then get an error like this one:
/    lcov --directory . --capture --output-file /tmp/ libreoffice_base.info --no-external --initial/
/    (...)/
/Message summary:/
/  1 error message:/
/    inconsistent: 1/
/lcov: ERROR: (inconsistent) mismatched end line for _ZN12_GLOBAL__N_18VbaTimer12MacroCallHdlEP5Timer at /home/(...)/ libreoffice/vbahelper/source/vbahelper/vbaapplicationbase.cxx:114: 114 - > 133 while capturing from /home/(...)/libreoffice/workdir/CxxObject/ vbahelper/source/vbahelper/vbaapplicationbase.gcno/
/      (use "lcov --ignore-errors inconsistent ..." to bypass this error)/

If I try exclude the files which cause this error, then I always get another file with this same problem. If I use the flag " --ignore-errors inconsistent", as suggested by lcov, then there is no more error. But then no "libreoffice_base.info" file is generated ...

I suspected that the compiler optimization was causing this problem, so I launched the autogen script with the "—enable-optimized=no", and I rebuilt the code. But I still get the same problem.

Does anyone achieve to perform a code coverage of unit tests? If yes, how do you proceed?

I don't know anyone who runs them manually. Once upon a time we had automation for them that worked, thanks to Maarten Hoes. The broken state of the automation was last discussed in 2022: https://lists.freedesktop.org/archives/libreoffice/2022-June/088972.html

Ilmari

Reply via email to