De Chromium Chronicle #18: Chromium-codedekking

Aflevering 18: door Veenita Joshi en Prakhar Asthana in Mountain View, CA (februari 2021)
Vorige afleveringen

Testdekking meet hoeveel broncode wordt uitgevoerd wanneer een bepaalde testsuite wordt uitgevoerd. Het genereren van dekkingsgegevens bestaat uit drie belangrijke stappen: het compileren met instrumentatie, het verzamelen van gegevens uit het uitvoeren van geïnstrumenteerde tests en het nabewerken van de gegevens. Het dekkingsteam beschikt over tools om dit proces te automatiseren.

Het Coverage-script kan met slechts één opdracht codedekkingsrapporten genereren , zonder te wachten tot de Gerrit UI is bijgewerkt . Dit script wordt momenteel ondersteund op Linux, Mac, iOS en ChromeOS.

Hier is een voorbeeldgebruik:

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ python tools/code_coverage/coverage.py \
    crypto_unittests url_unittests \
    -b out/coverage -o out/report \
    -c 'out/coverage/crypto_unittests' \
    -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
    -f url/ -f crypto/

Hiermee worden de crypto_unittests en url_unittests targets gebouwd en uitgevoerd. Voor url_unittests wordt alleen de test URLParser.PathURL uitgevoerd. Het dekkingsrapport wordt gefilterd om alleen bestanden en submappen onder url/ en crypto/ op te nemen. Naast het automatiseren van het proces biedt dit script extra functies om de codedekking per mappen en componenten te bekijken .

Schermafbeelding van de uitvoer van het dekkingsscript. Directoryweergave
Schermafbeelding van de uitvoer van het dekkingsscript. Componentweergave

De Code Coverage-tool biedt een uitsplitsing van de codedekking per directory en component voor de hele codebase, voor Windows, iOS, Android, Linux en ChromeOS.

Deel uw feedback: neem contact op met code-coverage @ chromium.org of dien een bug in op crbug.com .

Bronnen