Chronicle Chromium nr 18: pokrycie kodu Chromium

Odcinek 18: Veenita Joshi i Prakhar Asthana Mountain View, Kalifornia (luty 2021 r.)
Poprzednie odcinki

Zasięg testów pokazuje, jaka część kodu źródłowego jest wykonywana, gdy określony i testowania pakietu. Generowanie danych o pokryciu składa się z 3 głównych etapów: kompilacji z narzędziami, zbierającymi dane z testów zdecentralizowanych po ich przetworzeniu. Zespół ds. zasięgu ma narzędzia, które pozwalają zautomatyzować ten proces.

Skrypt pokrycia może generować raporty o zasięgu kodu za pomocą jednego polecenia, nie czekając na aktualizację interfejsu aplikacji Gerrit. Ten skrypt jest obecnie obsługiwany w systemach Linux, Mac, iOS i ChromeOS.

Oto przykładowe użycie:

$ 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/

Ta funkcja kompiluje i uruchamia crypto_unittests i url_unittests targets. Dla: url_unittests, uruchamia tylko test URLParser.PathURL. Zasięg raport został przefiltrowany tak, aby uwzględniał tylko pliki i podkatalogi w katalogu url/ i crypto/. Oprócz automatyzacji procesu ten skrypt zapewnia dodatkowe funkcje pozwalające wyświetlać zasięg kodu według katalogów i komponentów.

Zrzut ekranu pokazujący wyniki ze skryptu pokrycia. Widok katalogu
Zrzut ekranu pokazujący wyniki ze skryptu pokrycia. Widok komponentów

Narzędzie Pokrycie kodu udostępnia podział kodu według katalogu dla całej bazy kodu w systemach Windows, iOS, Android, Linux ChromeOS.

Prześlij opinię: skontaktuj się z firmą code-coverage @ chromium.org lub zgłoś błąd na crbug.com.

Zasoby