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