<div dir="ltr">Hi,<br><br><br>After my previous emails on the gcov/lcov code coverage subject on this list, I have modified the existing lcov html report generating script [1], and would like some feedback/reviewer on the modifications.<br><br>The major changes compared to the previous version are: <br><br>1.)<br>The script was reworked to make its usage simpler. The current script requires you to run the script multiple times, in multiple 'steps/phases', and for you to run a manual 'make check' in between these steps at some point. The new version only needs to be run once, and only needs flags to tell it where the sources are, where the report should go, etc. With the new version, you basically don't have to know anything about lcov/gcov, while the current version assumes you have a basic understanding of how lcov works / should be used.<br><br>2.)<br>The order of the various steps in the script has been changed, to (more) correctly reflect how the lcov tool should be used (both the current script and the wiki page [4] get this wrong, I'm thinking about updating the wiki as well).<br><br><br>Some open points and notes (which I should perhaps put in a 'NOTES' or 'TODO' file next to the actual shell script in git ?) are :<br><br>1.)<br>The current build system tries to enforce building Skia with clang, which led to incompatibilities between clang and gcc [2]. But - intended or not - when clang is not installed, Skia gets built with gcc as fallback. The script currently does not verify if clang is indeed not installed, but will fail when parts of the build (Skia) get built with clang, and other parts with gcc.<br><br>2.)<br>On my test system, 3 checks of 'make check' (specifically and only in combination with a 'gcov' build) fail when run on my PC (UITest_solver, CppunitTest_sccomp_solver, CppunitTest_sccomp_swarmsolvertest). It is currently assumed that the 'slowness' of my PC leads to timeouts, and running the tests on a faster system will resolve this issue [3]. This is currently not verified as I do not have a faster system at my disposal. As it currently stands, the script fails when 'make check' fails, and in that case no report is generated.<br><br>3.)<br>The current directory in git for the script has a subdirectory called 'tinderbox', apparently with things for use with, well, a 'tinderbox'. I wonder how useful and/or relevant this still is ? I can't really remember much about this, even though 'git log' tells me I'm the author of the things in there. Is this something that still is relevant today and needs to be updated along with the new script, or can this safely be removed ?<br><br><br>PS: Sorry, but as a result of my ferocious editing, the 'diff' between the old and new versions of the script are a bit of a mess, and doesn't really make sense anymore.<br><br><br>- Maarten<br><br><br>[1]<br><a href="https://gerrit.libreoffice.org/c/buildbot/+/135560">https://gerrit.libreoffice.org/c/buildbot/+/135560</a><br><br>[2]<br><a href="https://lists.freedesktop.org/archives/libreoffice/2022-May/088867.html">https://lists.freedesktop.org/archives/libreoffice/2022-May/088867.html</a><br><br>[3]<br><a href="https://lists.freedesktop.org/archives/libreoffice/2022-June/088971.html">https://lists.freedesktop.org/archives/libreoffice/2022-June/088971.html</a><br><br>[4]<br><a href="https://wiki.documentfoundation.org/Development/Lcov">https://wiki.documentfoundation.org/Development/Lcov</a><br></div>